| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | package kcptype Config struct {	Mtu              uint32 // Maximum transmission unit	Tti              uint32	UplinkCapacity   uint32	DownlinkCapacity uint32	Congestion       bool	WriteBuffer      uint32	ReadBuffer       uint32}func (this *Config) Apply() {	effectiveConfig = *this}func (this *Config) GetSendingInFlightSize() uint32 {	size := this.UplinkCapacity * 1024 * 1024 / this.Mtu / (1000 / this.Tti) / 2	if size == 0 {		size = 8	}	return size}func (this *Config) GetSendingWindowSize() uint32 {	return this.GetSendingInFlightSize() * 4}func (this *Config) GetSendingQueueSize() uint32 {	return this.WriteBuffer / this.Mtu}func (this *Config) GetReceivingWindowSize() uint32 {	size := this.DownlinkCapacity * 1024 * 1024 / this.Mtu / (1000 / this.Tti) / 2	if size == 0 {		size = 8	}	return size}func (this *Config) GetReceivingQueueSize() uint32 {	return this.ReadBuffer / this.Mtu}func DefaultConfig() Config {	return Config{		Mtu:              1350,		Tti:              20,		UplinkCapacity:   5,		DownlinkCapacity: 20,		Congestion:       false,		WriteBuffer:      4 * 1024 * 1024,		ReadBuffer:       4 * 1024 * 1024,	}}var (	effectiveConfig = DefaultConfig())
 |