diff --git a/transport/config.go b/transport/config.go index 967b0b1b7..f96021af8 100644 --- a/transport/config.go +++ b/transport/config.go @@ -1,9 +1,11 @@ package transport +// Config for V2Ray transport layer. type Config struct { ConnectionReuse bool } +// Apply applies this Config. func (this *Config) Apply() error { if this.ConnectionReuse { connectionReuse = true diff --git a/transport/config_json.go b/transport/config_json.go index fb724bfc3..95fd56e02 100644 --- a/transport/config_json.go +++ b/transport/config_json.go @@ -8,7 +8,9 @@ func (this *Config) UnmarshalJSON(data []byte) error { type JsonConfig struct { ConnectionReuse bool `json:"connectionReuse"` } - jsonConfig := new(JsonConfig) + jsonConfig := &JsonConfig{ + ConnectionReuse: true, + } if err := json.Unmarshal(data, jsonConfig); err != nil { return err } diff --git a/transport/transport.go b/transport/transport.go index c6bd97bf2..9d5cfc8f2 100644 --- a/transport/transport.go +++ b/transport/transport.go @@ -1,9 +1,10 @@ package transport var ( - connectionReuse = false + connectionReuse = true ) +// IsConnectionReusable returns true if V2Ray is trying to reuse TCP connections. func IsConnectionReusable() bool { return connectionReuse }