style: 优化 server 包部分代码可读性

This commit is contained in:
kercylan98 2024-01-12 17:25:06 +08:00
parent 8d0cbed4f4
commit 3b71eca597
3 changed files with 19 additions and 5 deletions

View File

@ -41,6 +41,17 @@ var (
networks = []Network{ networks = []Network{
NetworkNone, NetworkTcp, NetworkTcp4, NetworkTcp6, NetworkUdp, NetworkUdp4, NetworkUdp6, NetworkUnix, NetworkHttp, NetworkWebsocket, NetworkKcp, NetworkGRPC, NetworkNone, NetworkTcp, NetworkTcp4, NetworkTcp6, NetworkUdp, NetworkUdp4, NetworkUdp6, NetworkUnix, NetworkHttp, NetworkWebsocket, NetworkKcp, NetworkGRPC,
} }
socketNetworks = map[Network]struct{}{
NetworkTcp: {},
NetworkTcp4: {},
NetworkTcp6: {},
NetworkUdp: {},
NetworkUdp4: {},
NetworkUdp6: {},
NetworkUnix: {},
NetworkKcp: {},
NetworkWebsocket: {},
}
) )
func init() { func init() {
@ -305,3 +316,8 @@ func (n Network) websocketMode(state chan<- error, srv *Server) {
} }
}((&listener{srv: srv, Listener: l, state: state}).init()) }((&listener{srv: srv, Listener: l, state: state}).init())
} }
// IsSocket 返回当前服务器的网络模式是否为 Socket 模式
func (n Network) IsSocket() bool {
return collection.KeyInMap(socketNetworks, n)
}

View File

@ -149,9 +149,7 @@ func (srv *Server) Run(addr string) (err error) {
// IsSocket 是否是 Socket 模式 // IsSocket 是否是 Socket 模式
func (srv *Server) IsSocket() bool { func (srv *Server) IsSocket() bool {
return srv.network == NetworkTcp || srv.network == NetworkTcp4 || srv.network == NetworkTcp6 || return srv.network.IsSocket()
srv.network == NetworkUdp || srv.network == NetworkUdp4 || srv.network == NetworkUdp6 ||
srv.network == NetworkUnix || srv.network == NetworkKcp || srv.network == NetworkWebsocket
} }
// RunNone 是 Run("") 的简写,仅适用于运行 NetworkNone 服务器 // RunNone 是 Run("") 的简写,仅适用于运行 NetworkNone 服务器

View File

@ -14,8 +14,8 @@ type Service interface {
// BindService 绑定服务到特定 Server被绑定的服务将会在 Server 初始化时执行 Service.OnInit 方法 // BindService 绑定服务到特定 Server被绑定的服务将会在 Server 初始化时执行 Service.OnInit 方法
func BindService(srv *Server, services ...Service) { func BindService(srv *Server, services ...Service) {
for _, service := range services { for i := 0; i < len(services); i++ {
service := service service := services[i]
srv.services = append(srv.services, func() { srv.services = append(srv.services, func() {
name := reflect.TypeOf(service).String() name := reflect.TypeOf(service).String()
defer func(name string) { defer func(name string) {