package config import ( "git.noahlan.cn/noahlan/ntools-go/core/pool" "time" ) const ( // DevMode means development mode. DevMode = "dev" // TestMode means test mode. TestMode = "test" // ProductionMode means production mode. ProductionMode = "prod" ) type ( EngineConf struct { ServerConf Pool pool.Config } ServerConf struct { // Protocol 协议名 // "tcp", "tcp4", "tcp6", "unix" or "unixpacket" // 若只想开启IPv4, 使用tcp4即可 Protocol string `json:",default=tcp4"` // Addr 服务地址 // 地址可直接使用hostname,但强烈不建议这样做,可能会同时监听多个本地IP // 如果端口号不填或端口号为0,例如:"127.0.0.1:" 或 ":0",服务端将选择随机可用端口 Addr string `json:",default=0.0.0.0"` // Name 服务端名称,默认为n-net Name string `json:",default=n-net"` // TaskTimerPrecision // 全局任务的timer间隔 TaskTimerPrecision time.Duration `json:",default=1s"` // Mode 运行模式 Mode string `json:",default=dev,options=[dev,test,prod]"` } ) // ShallLogDebug 是否应该打印 Debug 级别的日志,打印的首要条件是 nlog 的打印级别为 debug func ShallLogDebug(mode string) bool { return mode == DevMode || mode == TestMode }