| 12345678910111213141516171819202122232425262728293031323334353637 |
- package kcp
- type Config struct {
- Mtu uint32 // Maximum transmission unit
- Tti uint32
- UplinkCapacity uint32
- DownlinkCapacity uint32
- Congestion bool
- WriteBuffer uint32
- }
- func (this *Config) Apply() {
- effectiveConfig = *this
- }
- func (this *Config) GetSendingWindowSize() uint32 {
- return this.UplinkCapacity * 1024 * 1024 / this.Mtu / (1000 / this.Tti)
- }
- func (this *Config) GetReceivingWindowSize() uint32 {
- return this.DownlinkCapacity * 1024 * 1024 / this.Mtu / (1000 / this.Tti)
- }
- func DefaultConfig() Config {
- return Config{
- Mtu: 1350,
- Tti: 20,
- UplinkCapacity: 5,
- DownlinkCapacity: 20,
- Congestion: false,
- WriteBuffer: 8 * 1024 * 1024,
- }
- }
- var (
- effectiveConfig = DefaultConfig()
- )
|