支持注入连接管理实例
This commit is contained in:
parent
551da36ac9
commit
88112bc2d0
@ -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)
|
||||||
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user