feat: Support user specify udp packet size in config (#1794)

This commit is contained in:
Tank
2020-05-07 17:47:36 +08:00
committed by GitHub
parent 7266154d54
commit d193519329
8 changed files with 43 additions and 8 deletions

View File

@@ -116,6 +116,9 @@ type ClientCommonConf struct {
HeartBeatTimeout int64 `json:"heartbeat_timeout"`
// Client meta info
Metas map[string]string `json:"metas"`
// UdpPacketSize specifies the udp packet size
// By default, this value is 1500
UdpPacketSize int64 `json:"udp_packet_size"`
}
// GetDefaultClientConf returns a client configuration with default values.
@@ -145,6 +148,7 @@ func GetDefaultClientConf() ClientCommonConf {
HeartBeatInterval: 30,
HeartBeatTimeout: 90,
Metas: make(map[string]string),
UdpPacketSize: 1500,
}
}
@@ -298,6 +302,14 @@ func UnmarshalClientConfFromIni(content string) (cfg ClientCommonConf, err error
cfg.Metas[strings.TrimPrefix(k, "meta_")] = v
}
}
if tmpStr, ok = conf.Get("common", "udp_packet_size"); ok {
if v, err = strconv.ParseInt(tmpStr, 10, 64); err != nil {
err = fmt.Errorf("Parse conf error: invalid udp_packet_size")
return
} else {
cfg.UdpPacketSize = v
}
}
return
}

View File

@@ -145,6 +145,9 @@ type ServerCommonConf struct {
UserConnTimeout int64 `json:"user_conn_timeout"`
// HTTPPlugins specify the server plugins support HTTP protocol.
HTTPPlugins map[string]plugin.HTTPPluginOptions `json:"http_plugins"`
// UdpPacketSize specifies the udp packet size
// By default, this value is 1500
UdpPacketSize int64 `json:"udp_packet_size"`
}
// GetDefaultServerConf returns a server configuration with reasonable
@@ -182,6 +185,7 @@ func GetDefaultServerConf() ServerCommonConf {
UserConnTimeout: 10,
Custom404Page: "",
HTTPPlugins: make(map[string]plugin.HTTPPluginOptions),
UdpPacketSize: 1500,
}
}
@@ -416,6 +420,15 @@ func UnmarshalServerConfFromIni(content string) (cfg ServerCommonConf, err error
} else {
cfg.TlsOnly = false
}
if tmpStr, ok = conf.Get("common", "udp_packet_size"); ok {
if v, err = strconv.ParseInt(tmpStr, 10, 64); err != nil {
err = fmt.Errorf("Parse conf error: invalid udp_packet_size")
return
} else {
cfg.UdpPacketSize = v
}
}
return
}