configurable read and write buffer size

pull/215/head
v2ray 8 years ago
parent b6a6c154a3
commit f6d4e599bd
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

@ -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,
}
}

@ -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
}

Loading…
Cancel
Save