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

configurable read and write buffer size

This commit is contained in:
v2ray 2016-07-15 21:27:23 +02:00
parent b6a6c154a3
commit f6d4e599bd
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
2 changed files with 25 additions and 7 deletions

View File

@ -49,8 +49,8 @@ func DefaultConfig() Config {
UplinkCapacity: 5,
DownlinkCapacity: 20,
Congestion: false,
WriteBuffer: 4 * 1024 * 1024,
ReadBuffer: 4 * 1024 * 1024,
WriteBuffer: 1 * 1024 * 1024,
ReadBuffer: 1 * 1024 * 1024,
}
}

View File

@ -11,11 +11,13 @@ import (
func (this *Config) UnmarshalJSON(data []byte) error {
type JSONConfig struct {
Mtu *uint32 `json:"mtu"`
Tti *uint32 `json:"tti"`
UpCap *uint32 `json:"uplinkCapacity"`
DownCap *uint32 `json:"downlinkCapacity"`
Congestion *bool `json:"congestion"`
Mtu *uint32 `json:"mtu"`
Tti *uint32 `json:"tti"`
UpCap *uint32 `json:"uplinkCapacity"`
DownCap *uint32 `json:"downlinkCapacity"`
Congestion *bool `json:"congestion"`
ReadBufferSize *uint32 `json:"readBufferSize"`
WriteBufferSize *uint32 `json:"writeBufferSize"`
}
jsonConfig := new(JSONConfig)
if err := json.Unmarshal(data, &jsonConfig); err != nil {
@ -46,6 +48,22 @@ func (this *Config) UnmarshalJSON(data []byte) error {
if jsonConfig.Congestion != nil {
this.Congestion = *jsonConfig.Congestion
}
if jsonConfig.ReadBufferSize != nil {
size := *jsonConfig.ReadBufferSize
if size > 0 {
this.ReadBuffer = size * 1024 * 1024
} else {
this.ReadBuffer = 512 * 1024
}
}
if jsonConfig.WriteBufferSize != nil {
size := *jsonConfig.WriteBufferSize
if size > 0 {
this.WriteBuffer = size * 1024 * 1024
} else {
this.WriteBuffer = 512 * 1024
}
}
return nil
}