Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/chenxilol/gohub
/ functions
Functions
347 in github.com/chenxilol/gohub
⨍
Functions
347
◇
Types & classes
58
Method
DecodeAndRoute
DecodeAndRoute 实现了 MessageDispatcher 接口
internal/integration/mocks.go:90
Method
DecodeAndRoute
(ctx context.Context, client *hub.Client, message []byte)
internal/dispatcher/dispatcher.go:52
Function
DecodeMessage
消息解码 DecodeMessage 将JSON数据解码为消息
pkg/hub/message.go:65
Method
DeleteMetadata
DeleteMetadata 删除客户端元数据
pkg/hub/client.go:226
Method
DeleteRoom
DeleteRoom 删除一个房间
pkg/hub/room.go:280
Method
DeleteRoom
(id string)
pkg/sdk/sdk.go:141
Method
DialHook
(hook redis.DialHook)
pkg/bus/redis/redis.go:95
Method
DisconnectClient
(clientID string)
pkg/sdk/sdk.go:45
Method
DisconnectClient
(clientID string)
pkg/sdk/sdk.go:107
Method
GenerateToken
GenerateToken 实现Authenticator接口,生成JWT令牌
pkg/auth/jwt.go:33
Method
GenerateToken
GenerateToken 生成新的令牌
pkg/auth/auth.go:46
Method
GetClient
(clientID string)
pkg/sdk/sdk.go:98
Method
GetClientCount
GetClientCount 获取房间内客户端数量
pkg/hub/room.go:114
Method
GetClientCount
实现SDK接口的连接管理方法
pkg/sdk/sdk.go:94
Method
GetClientPermissions
(clientID string)
pkg/sdk/sdk.go:62
Method
GetClientPermissions
(clientID string)
pkg/sdk/sdk.go:192
Method
GetClientRooms
GetClientRooms 获取客户端加入的所有房间
pkg/hub/room.go:378
Method
GetMetadata
GetMetadata 获取客户端元数据
pkg/hub/client.go:221
Method
GetReconnectCount
GetReconnectCount 获取重连次数
pkg/bus/redis/metrics.go:76
Method
GetReconnectCount
GetReconnectCount 获取重连次数
pkg/bus/nats/nats.go:262
Method
GetRoom
(id string)
pkg/sdk/sdk.go:145
Method
GetRoomCount
()
pkg/sdk/sdk.go:153
Method
GetRoomMembers
(roomID string)
pkg/sdk/sdk.go:58
Method
GetRoomMembers
(roomID string)
pkg/sdk/sdk.go:172
Method
IncReconnects
IncReconnects 增加重连计数
pkg/bus/nats/metrics.go:97
Method
IsAuthenticated
实现SDK接口的认证相关方法
pkg/sdk/sdk.go:183
Function
IsUnexpectedCloseError
(err error, expectedCodes ...int)
pkg/hub/client.go:170
Function
IsWebsocketCloseError
(err error)
pkg/hub/client.go:180
Method
JoinRoom
JoinRoom 将客户端加入房间
pkg/hub/room.go:315
Method
JoinRoom
(roomID string, clientID string)
pkg/sdk/sdk.go:157
Method
LeaveRoom
LeaveRoom 让客户端离开房间
pkg/hub/room.go:324
Method
LeaveRoom
(roomID string, clientID string)
pkg/sdk/sdk.go:161
Method
ListRooms
ListRooms 列出所有房间
pkg/hub/hub.go:428
Method
ListRooms
ListRooms 列出所有房间
pkg/hub/room.go:304
Method
ListRooms
()
pkg/sdk/sdk.go:149
Function
LoadConfig
LoadConfig loads configuration from the specified file
configs/config.go:95
Function
MessageReceived
MessageReceived 记录收到消息
internal/metrics/metrics.go:182
Function
NewAutoIncID
NewAutoIncID 创建新的ID生成器
pkg/hub/message.go:80
Function
NewGorillaConn
(conn *websocket.Conn)
internal/websocket/adapter.go:13
Function
NewMockBus
()
pkg/hub/hub_test.go:89
Method
Next
Next 获取下一个ID
pkg/hub/message.go:85
Method
Off
(eventType EventType, handler EventHandler)
pkg/sdk/sdk.go:67
Method
Off
(eventType EventType, handler EventHandler)
pkg/sdk/sdk.go:221
Method
On
实现SDK接口的事件订阅方法
pkg/sdk/sdk.go:217
Method
OnRetry
OnRetry 记录每次重连事件
pkg/bus/redis/redis.go:114
Method
ProcessHook
(hook redis.ProcessHook)
pkg/bus/redis/redis.go:101
Method
ProcessPipelineHook
(hook redis.ProcessPipelineHook)
pkg/bus/redis/redis.go:107
Method
Publish
(ctx context.Context, topic string, data []byte)
pkg/hub/integration_test.go:36
Method
Publish
(ctx context.Context, topic string, data []byte)
pkg/hub/hub_test.go:97
Method
Publish
(ctx context.Context, topic string, data []byte)
pkg/hub/cluster_test.go:30
Method
Publish
Publish 实现MessageBus.Publish,实际上不做任何事情,直接返回nil
pkg/bus/noop/noop.go:23
Method
Publish
(ctx context.Context, topic string, data []byte)
pkg/bus/redis/core_pubsub.go:9
Method
Publish
(ctx context.Context, topic string, data []byte)
pkg/bus/nats/core_pubsub.go:21
Method
ReadMessage
()
pkg/hub/hub_test.go:25
Method
ReadMessage
()
pkg/hub/client.go:36
Method
ReadMessage
()
internal/integration/mocks.go:23
Method
Register
(name string, handler MessageHandlerFunc)
pkg/hub/hub_test.go:204
Method
Register
(name string, handler hub.MessageHandlerFunc)
internal/integration/mocks.go:101
Method
Register
(msgType string, handler hub.MessageHandlerFunc)
internal/dispatcher/dispatcher.go:45
Method
RegisterMessageHandler
(messageType string, handler hub.MessageHandlerFunc)
pkg/sdk/sdk.go:265
Method
ReplyTo
ReplyTo 创建一个对指定消息的回复
pkg/hub/message.go:46
Method
SendToClient
(clientID string, message []byte)
pkg/sdk/sdk.go:47
Method
SendToClient
(clientID string, message []byte)
pkg/sdk/sdk.go:127
Method
SetMetadata
SetMetadata 设置客户端元数据
pkg/hub/client.go:216
Method
SetReadDeadline
(t time.Time)
pkg/hub/hub_test.go:46
Method
SetReadDeadline
(time.Time)
pkg/hub/client.go:40
Method
SetReadDeadline
(t time.Time)
internal/integration/mocks.go:44
Method
SetReadLimit
(limit int64)
pkg/hub/hub_test.go:44
Method
SetReadLimit
(int64)
pkg/hub/client.go:39
Method
SetReadLimit
(limit int64)
internal/integration/mocks.go:42
Method
SetWriteDeadline
(t time.Time)
pkg/hub/hub_test.go:50
Method
SetWriteDeadline
(time.Time)
pkg/hub/client.go:41
Method
SetWriteDeadline
(t time.Time)
internal/integration/mocks.go:48
Method
Subscribe
(ctx context.Context, topic string)
pkg/hub/integration_test.go:75
Method
Subscribe
(ctx context.Context, topic string)
pkg/hub/hub_test.go:133
Method
Subscribe
(ctx context.Context, topic string)
pkg/hub/cluster_test.go:76
Method
Subscribe
Subscribe 实现MessageBus.Subscribe,返回一个立即关闭的通道
pkg/bus/noop/noop.go:40
Method
Subscribe
Subscribe 实现MessageBus.Subscribe,订阅Redis频道
pkg/bus/redis/core_pubsub.go:69
Method
Subscribe
Subscribe 实现MessageBus.Subscribe,订阅NATS主题
pkg/bus/nats/core_pubsub.go:133
Method
SubscribeWithTimestamp
(ctx context.Context, topic string)
pkg/hub/integration_test.go:270
Method
SubscribeWithTimestamp
SubscribeWithTimestamp 实现MessageBus.SubscribeWithTimestamp
pkg/hub/cluster_test.go:157
Method
SubscribeWithTimestamp
SubscribeWithTimestamp 订阅指定主题,返回带时间戳的消息channel
pkg/bus/bus.go:24
Method
SubscribeWithTimestamp
SubscribeWithTimestamp 实现MessageBus.SubscribeWithTimestamp,返回一个立即关闭的通道
pkg/bus/noop/noop.go:59
Method
SubscribeWithTimestamp
SubscribeWithTimestamp 实现MessageBus.SubscribeWithTimestamp,订阅Redis频道并返回带时间戳的消息
pkg/bus/redis/core_pubsub.go:93
Method
SubscribeWithTimestamp
SubscribeWithTimestamp 实现MessageBus.SubscribeWithTimestamp,订阅NATS主题并返回带时间戳的消息
pkg/bus/nats/core_pubsub.go:493
Function
TestClientConnectionAuthDisconnection
TestClientConnectionAuthDisconnection 测试客户端连接、认证和断开连接的完整生命周期
internal/integration/client_lifecycle_test.go:16
Function
TestClientReadWriteTimeouts
TestClientReadWriteTimeouts 测试客户端读写超时
internal/integration/client_lifecycle_test.go:137
Function
TestCluster_Integration
mockDispatcher 和 newMockDispatcher 已在 hub_test.go 中定义,这里不再重复 集成测试:模拟集群环境中的Hub行为
pkg/hub/integration_test.go:121
Function
TestGohub
(t *testing.T)
examples/test/server_test.go:122
Function
TestHub_Broadcast_Cluster
T2:集群广播(2个节点)- 两个节点的客户端都能收到
pkg/hub/cluster_test.go:190
Function
TestHub_Broadcast_SingleNode
T1:单节点广播 - 所有本地客户端都能收到
pkg/hub/hub_test.go:211
Function
TestHub_ClientTimeout
T4:心跳超时 - 客户端断开连接并被移除
pkg/hub/hub_test.go:267
Function
TestHub_Push_AcrossNodes
T3:跨节点单播 - 只有目标收到
pkg/hub/cluster_test.go:304
Function
TestHub_SendBufferFull
T5:发送缓冲区已满 - 返回 ErrSendBufferFull
pkg/hub/hub_test.go:305
Function
TestLocalRoomOperations
TestLocalRoomOperations 测试本地房间操作
internal/integration/room_management_test.go:15
Function
TestNatsBus_JetStreamErrorHandling
TestNatsBus_JetStreamErrorHandling 测试JetStream错误处理
pkg/bus/nats/jetstream_test.go:279
Function
TestNatsBus_JetStreamMultipleMessages
TestNatsBus_JetStreamMultipleMessages 测试JetStream批量处理功能
pkg/bus/nats/jetstream_test.go:75
Function
TestNatsBus_JetStreamPublishLatency
TestNatsBus_JetStreamPublishLatency 测试JetStream发布延迟统计
pkg/bus/nats/publish_test.go:89
Function
TestNatsBus_JetStreamPublishSubscribe
TestNatsBus_JetStreamPublishSubscribe 测试JetStream的发布订阅功能
pkg/bus/nats/jetstream_test.go:11
Function
TestNatsBus_JetStreamReconnect
TestNatsBus_JetStreamReconnect 测试JetStream重连功能
pkg/bus/nats/jetstream_test.go:163
← previous
next →
201–300 of 347, ranked by callers