1
This commit is contained in:
parent
f64b6e8a43
commit
7075dfb223
|
@ -70,7 +70,15 @@ var (
|
|||
//用户标识的连接(白板用户不存)
|
||||
mapUserConnPool = make(map[string]map[string]struct{}) //key是user_id +"_"+guest_id (val是个普通map,存储这个用户的所有连接标识)
|
||||
//用户标识的连接增删操作队列
|
||||
userConnPoolCtlChan = make(chan userConnPoolCtlChanItem, getCacheChanLenByLevel(4))
|
||||
userConnPoolCtlChan = make(chan userConnPoolCtlChanItem, 500)
|
||||
//每个websocket连接入口缓冲队列长度默认值
|
||||
websocketInChanLen = 500
|
||||
//每个websocket连接出口缓冲队列长度默认值
|
||||
websocketOutChanLen = 500
|
||||
//每个websocket连接渲染任务调度队列长度默认值(添加任务/删除任务/修改任务属性)缓冲队列长度(该队列用于避免map并发读写冲突)
|
||||
renderImageTaskCtlChanLen = 100
|
||||
//每个websocket渲染任务缓冲队列长度默认值
|
||||
renderChanLen = 500
|
||||
//是否开启debug
|
||||
openDebug = true
|
||||
//允许跨域的origin
|
||||
|
@ -180,8 +188,6 @@ func (l *DataTransferLogic) setConnPool(conn *websocket.Conn, userInfo *auth.Use
|
|||
l.sendGetUniqueIdErrResponse(conn)
|
||||
return wsConnectItem{}, err
|
||||
}
|
||||
//根据不同用户获取不同缓冲队列长度
|
||||
websocketInChanLen, websocketOutChanLen, renderImageTaskCtlChanLen, renderChanLen := getCacheChanLenByUser(userInfo.UserId, userInfo.GuestId)
|
||||
ws := wsConnectItem{
|
||||
conn: conn,
|
||||
userAgent: userAgent,
|
||||
|
@ -213,35 +219,6 @@ func (l *DataTransferLogic) setConnPool(conn *websocket.Conn, userInfo *auth.Use
|
|||
return ws, nil
|
||||
}
|
||||
|
||||
// 根据level获取缓冲队列长度
|
||||
func getCacheChanLenByLevel(level int) int {
|
||||
switch level {
|
||||
case 1:
|
||||
return 10
|
||||
case 2:
|
||||
return 100
|
||||
case 3:
|
||||
return 500
|
||||
case 4:
|
||||
return 1000
|
||||
default:
|
||||
return 10
|
||||
}
|
||||
}
|
||||
|
||||
// 根据用户获取缓冲队列长度
|
||||
func getCacheChanLenByUser(userId, guestId int64) (websocketInChanLen, websocketOutChanLen, renderImageTaskCtlChanLen, renderChanLen int) {
|
||||
var l int
|
||||
if userId > 0 {
|
||||
l = getCacheChanLenByLevel(3)
|
||||
} else if guestId > 0 {
|
||||
l = getCacheChanLenByLevel(2)
|
||||
} else {
|
||||
l = getCacheChanLenByLevel(2)
|
||||
}
|
||||
return l, l, l, l
|
||||
}
|
||||
|
||||
// 添加用户索引池ws连接
|
||||
func createUserConnPoolElement(userId, guestId int64, uniqueId string) {
|
||||
data := userConnPoolCtlChanItem{
|
||||
|
|
Loading…
Reference in New Issue
Block a user