支持注入连接管理实例

This commit is contained in:
白茶清欢 2021-04-17 23:34:46 +08:00
parent 551da36ac9
commit 88112bc2d0
2 changed files with 25 additions and 22 deletions

View File

@ -9,6 +9,7 @@ package config
import (
"github.com/go-developer/gopkg/logger"
"github.com/go-developer/websocket/storage"
"go.uber.org/zap/zapcore"
)
@ -56,6 +57,7 @@ type WSServerConfig struct {
LogLevel zapcore.Level // 日志等级
LogSplitInterval logger.TimeIntervalType // 日至切割的时间间隔
StoreConnection bool // 存储连接
ConnectionManager storage.IConnection // 连接管理实例
}
// SetWSServerConfig 设置WS-Server的配置
@ -117,6 +119,7 @@ func NewWSServerConfig(optionList ...SetWSServerConfig) *WSServerConfig {
LogLevel: DefaultLogLevel,
LogSplitInterval: DefaultLogSplitInterval,
StoreConnection: DefaultStoreConnection,
ConnectionManager: storage.NewDefaultConnectionManager(),
}
for _, o := range optionList {
o(c)

View File

@ -12,15 +12,15 @@ import (
"github.com/go-developer/websocket/context"
)
var (
// Connection 连接管理
Connection IConnection
)
func init() {
// NewDefaultConnectionManager 默认的内存连接管理实例
//
// Author : go_developer@163.com<张德满>
//
// Date : 11:32 下午 2021/4/17
func NewDefaultConnectionManager() IConnection {
c := &connection{}
c.table, _ = easymap.NewSegment(4096, true)
Connection = c
return c
}
type connection struct {