1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-03 06:30:42 +00:00

adjust receiving buffer size

This commit is contained in:
Darien Raymond 2016-08-25 09:45:56 +02:00
parent 0da987ec43
commit fcad4aa212
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
2 changed files with 8 additions and 5 deletions

View File

@ -44,15 +44,18 @@ func (this *Config) GetSendingBufferSize() uint32 {
return this.GetSendingInFlightSize() + this.WriteBuffer/this.Mtu
}
func (this *Config) GetReceivingBufferSize() uint32 {
func (this *Config) GetReceivingInFlightSize() uint32 {
size := this.DownlinkCapacity * 1024 * 1024 / this.Mtu / (1000 / this.Tti) / 2
if size < 8 {
size = 8
}
size += this.ReadBuffer / this.Mtu
return size
}
func (this *Config) GetReceivingBufferSize() uint32 {
return this.GetReceivingInFlightSize() + this.ReadBuffer/this.Mtu
}
func DefaultConfig() Config {
return Config{
Mtu: 1350,

View File

@ -123,11 +123,10 @@ type ReceivingWorker struct {
}
func NewReceivingWorker(kcp *Connection) *ReceivingWorker {
windowSize := effectiveConfig.GetReceivingBufferSize()
worker := &ReceivingWorker{
conn: kcp,
window: NewReceivingWindow(windowSize),
windowSize: windowSize,
window: NewReceivingWindow(effectiveConfig.GetReceivingBufferSize()),
windowSize: effectiveConfig.GetReceivingInFlightSize(),
}
worker.acklist = NewAckList(worker)
return worker
@ -155,6 +154,7 @@ func (this *ReceivingWorker) ProcessSegment(seg *DataSegment) {
if !this.window.Set(idx, seg) {
seg.Release()
}
this.updated = true
}
func (this *ReceivingWorker) Read(b []byte) int {