加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
option.go 1.02 KB
一键复制 编辑 原始数据 按行查看 历史
Cyinx 提交于 2019-01-13 17:21 . fix bug
package einx
import (
"github.com/Cyinx/einx/event"
"github.com/Cyinx/einx/module"
"github.com/Cyinx/einx/network"
"github.com/Cyinx/einx/slog"
)
type Option = func(...interface{})
func LogPath(p string) Option {
return func(args ...interface{}) {
slog.SetLogPath(p)
}
}
func KeepAlive(open bool, pingTime int64) Option {
return func(args ...interface{}) {
network.SetKeepAlive(open, pingTime)
}
}
func Perfomance(b bool) Option {
return func(args ...interface{}) {
module.PerfomancePrint = b
}
}
type networkOpt struct {
Name func(string) Option
Module func(string) Option
ListenAddr func(string) Option
ServeHandler func(SessionHandler) Option
TransportMaxCount func(int) Option
}
var NetworkOption networkOpt = networkOpt{
Name: network.Name,
Module: func(s string) Option {
m := GetModule(s)
return network.Module(m.(event.EventReceiver))
},
ListenAddr: network.ListenAddr,
ServeHandler: network.ServeHandler,
TransportMaxCount: network.TransportMaxCount,
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化