32 lines
682 B
Go
32 lines
682 B
Go
package udp
|
|
|
|
import "time"
|
|
|
|
// Configuration constants
|
|
const (
|
|
DefaultMTU = 1400
|
|
DefaultWindowSize = 256
|
|
DefaultRetryAttempts = 5
|
|
DefaultTimeout = 30 * time.Second
|
|
RetransmitTimeout = 3 * time.Second
|
|
KeepAliveInterval = 10 * time.Second
|
|
)
|
|
|
|
// Config holds configuration for reliable UDP connections
|
|
type Config struct {
|
|
MTU int
|
|
WindowSize uint16
|
|
RetryAttempts int
|
|
Timeout time.Duration
|
|
}
|
|
|
|
// DefaultConfig returns a default configuration
|
|
func DefaultConfig() *Config {
|
|
return &Config{
|
|
MTU: DefaultMTU,
|
|
WindowSize: DefaultWindowSize,
|
|
RetryAttempts: DefaultRetryAttempts,
|
|
Timeout: DefaultTimeout,
|
|
}
|
|
}
|