From a8792b2b601d6f605ab54fcac1af63c8f7e1aa1b Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 11 Jun 2016 19:51:02 +0800 Subject: [PATCH] Added Config for KCP connetions --- transport/config.go | 8 ++++++++ transport/config_json.go | 13 +++++++++++-- transport/transport.go | 8 ++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/transport/config.go b/transport/config.go index 967b0b1b7..4a4081987 100644 --- a/transport/config.go +++ b/transport/config.go @@ -1,12 +1,20 @@ package transport +import "github.com/v2ray/v2ray-core/transport/hub/kcpv" + type Config struct { ConnectionReuse bool + enableKcp bool + kcpConfig *kcpv.Config } func (this *Config) Apply() error { if this.ConnectionReuse { connectionReuse = true } + enableKcp = this.enableKcp + if enableKcp { + KcpConfig = this.kcpConfig + } return nil } diff --git a/transport/config_json.go b/transport/config_json.go index 95fd56e02..571ecf991 100644 --- a/transport/config_json.go +++ b/transport/config_json.go @@ -2,18 +2,27 @@ package transport -import "encoding/json" +import ( + "encoding/json" + + "github.com/v2ray/v2ray-core/transport/hub/kcpv" +) func (this *Config) UnmarshalJSON(data []byte) error { type JsonConfig struct { - ConnectionReuse bool `json:"connectionReuse"` + ConnectionReuse bool `json:"connectionReuse"` + EnableKcp bool `json:"EnableKCP,omitempty"` + KcpConfig *kcpv.Config `json:"KcpConfig,omitempty"` } jsonConfig := &JsonConfig{ ConnectionReuse: true, + EnableKcp: false, } if err := json.Unmarshal(data, jsonConfig); err != nil { return err } this.ConnectionReuse = jsonConfig.ConnectionReuse + this.enableKcp = jsonConfig.EnableKcp + this.kcpConfig = kcpConfig return nil } diff --git a/transport/transport.go b/transport/transport.go index ce88dd163..34ef7ebce 100644 --- a/transport/transport.go +++ b/transport/transport.go @@ -1,9 +1,17 @@ package transport +import "github.com/v2ray/v2ray-core/transport/hub/kcpv" + var ( connectionReuse = true + enableKcp = false + KcpConfig *kcpv.Config ) func IsConnectionReusable() bool { return connectionReuse } + +func IsKcpEnabled() bool { + return enableKcp +}