support tcp stream multiplexing by smux

This commit is contained in:
fatedier
2017-05-17 17:47:20 +08:00
parent a5f06489cb
commit b600a07ec0
7 changed files with 153 additions and 50 deletions

View File

@ -49,6 +49,7 @@ type ServerCommonConf struct {
PrivilegeToken string
AuthTimeout int64
SubDomainHost string
TcpMux bool
// if PrivilegeAllowPorts is not nil, tcp proxies which remote port exist in this map can be connected
PrivilegeAllowPorts map[int64]struct{}
@ -76,7 +77,8 @@ func GetDefaultServerCommonConf() *ServerCommonConf {
PrivilegeToken: "",
AuthTimeout: 900,
SubDomainHost: "",
MaxPoolCount: 10,
TcpMux: true,
MaxPoolCount: 5,
HeartBeatTimeout: 90,
UserConnTimeout: 10,
}
@ -265,6 +267,13 @@ func LoadServerCommonConf(conf ini.File) (cfg *ServerCommonConf, err error) {
cfg.SubDomainHost = strings.ToLower(strings.TrimSpace(tmpStr))
}
tmpStr, ok = conf.Get("common", "tcp_mux")
if ok && tmpStr == "false" {
cfg.TcpMux = false
} else {
cfg.TcpMux = true
}
tmpStr, ok = conf.Get("common", "heartbeat_timeout")
if ok {
v, errRet := strconv.ParseInt(tmpStr, 10, 64)