支持注入连接管理实例

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 ( import (
"github.com/go-developer/gopkg/logger" "github.com/go-developer/gopkg/logger"
"github.com/go-developer/websocket/storage"
"go.uber.org/zap/zapcore" "go.uber.org/zap/zapcore"
) )
@ -48,14 +49,15 @@ const (
// //
// Date : 7:02 下午 2021/4/17 // Date : 7:02 下午 2021/4/17
type WSServerConfig struct { type WSServerConfig struct {
Mode string // 运行模式 Mode string // 运行模式
LogEnable bool // 开启日志 LogEnable bool // 开启日志
LogConsole bool // 开启控制台日志输出 LogConsole bool // 开启控制台日志输出
LogPath string // 日志路径 LogPath string // 日志路径
LogFile string // 日志文件名 LogFile string // 日志文件名
LogLevel zapcore.Level // 日志等级 LogLevel zapcore.Level // 日志等级
LogSplitInterval logger.TimeIntervalType // 日至切割的时间间隔 LogSplitInterval logger.TimeIntervalType // 日至切割的时间间隔
StoreConnection bool // 存储连接 StoreConnection bool // 存储连接
ConnectionManager storage.IConnection // 连接管理实例
} }
// SetWSServerConfig 设置WS-Server的配置 // SetWSServerConfig 设置WS-Server的配置
@ -110,13 +112,14 @@ func DisableStoreConnection() SetWSServerConfig {
// Date : 7:21 下午 2021/4/17 // Date : 7:21 下午 2021/4/17
func NewWSServerConfig(optionList ...SetWSServerConfig) *WSServerConfig { func NewWSServerConfig(optionList ...SetWSServerConfig) *WSServerConfig {
c := &WSServerConfig{ c := &WSServerConfig{
Mode: DefaultMode, Mode: DefaultMode,
LogEnable: DefaultLogEnable, LogEnable: DefaultLogEnable,
LogConsole: DefaultLogConsole, LogConsole: DefaultLogConsole,
LogPath: "", LogPath: "",
LogLevel: DefaultLogLevel, LogLevel: DefaultLogLevel,
LogSplitInterval: DefaultLogSplitInterval, LogSplitInterval: DefaultLogSplitInterval,
StoreConnection: DefaultStoreConnection, StoreConnection: DefaultStoreConnection,
ConnectionManager: storage.NewDefaultConnectionManager(),
} }
for _, o := range optionList { for _, o := range optionList {
o(c) o(c)

View File

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