55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package hpds_net_framework
|
||
|
||
import "C"
|
||
import "sync"
|
||
|
||
var (
|
||
// Cfg is the config instance
|
||
Cfg *Data
|
||
once sync.Once
|
||
)
|
||
|
||
// Data is the config struct
|
||
type Data struct {
|
||
// 单个连接未处理消息包缓存队列大小
|
||
// 注意:[超过这个大小,包将丢弃,视为当前系统无法处理,默认100]
|
||
ConnUndoQueueSize int
|
||
// 单个连接未写入消息包队列大小 [超过这个大小,包将丢弃,视为当前系统无法处理,默认为1]
|
||
ConnWriteQueueSize int
|
||
// 第一个包等待超市时间 (s) [默认5秒,连接上来未读到正确包,断开连接]
|
||
FirstPackageTimeout int
|
||
// 连接读取超时(s) [默认35秒, 超时等待时间内,请发送任何数据包,如心跳包]
|
||
ConnReadTimeout int
|
||
// 连接写超时(s) [默认5秒, 超时等待时间内,请发送任何数据包,如心跳包]
|
||
ConnWriteTimeout int
|
||
// 数据包最大限制,[默认2048]
|
||
MaxDataPackageSize int
|
||
// ws 最大header,[默认1024]
|
||
MaxHeaderLen int
|
||
}
|
||
|
||
func init() {
|
||
Cfg = &Data{
|
||
ConnUndoQueueSize: 100,
|
||
ConnWriteQueueSize: 10,
|
||
FirstPackageTimeout: 5,
|
||
ConnReadTimeout: 35,
|
||
ConnWriteTimeout: 5,
|
||
MaxDataPackageSize: 4096,
|
||
MaxHeaderLen: 1024,
|
||
}
|
||
}
|
||
|
||
// SetConf this before startup server
|
||
func SetConf(cfg *Data) {
|
||
once.Do(func() {
|
||
Cfg = cfg
|
||
if C.ConnUndoQueueSize == 0 {
|
||
C.ConnUndoQueueSize = 1
|
||
}
|
||
if C.ConnWriteQueueSize == 0 {
|
||
C.ConnWriteQueueSize = 1
|
||
}
|
||
})
|
||
}
|