kercylan98
|
a2a9199d41
|
test: 完善 dispatcher.Dispatcher 注释及测试用例
|
2024-01-12 13:48:57 +08:00 |
kercylan98
|
161fbfe4e3
|
refactor: 迁移 concurrent.Pool 至 hub.ObjectPool,并将 concurrent 包更名为 hub
|
2024-01-12 12:34:09 +08:00 |
kercylan98
|
66d903474d
|
refactor: 移除 slice 包和 hash 包,新增 listings、mappings 包存放数组、切片、映射等数据结构,原 slice、hash 包中的工具函数迁移至 collection 包,与 sher 包合并并移除 sher 包。完善 collection 包测试用例
|
2024-01-11 17:50:04 +08:00 |
kercylan98
|
3408c212d0
|
refactor: 重构 server 包分流渠道设计,修复部分问题
- 使用 RingBuffer 实现分流渠道的无界缓冲区,修复分流渠道被关闭后,未处理完成的消息将会被丢弃的问题;
- 移除 server.WithDisableAutomaticReleaseShunt 可选项,分流渠道将在消息处理完毕且没有连接使用时自行释放;
|
2024-01-08 19:11:17 +08:00 |
kercylan98
|
3402c83fd4
|
fix: 修复 server 包部分问题,修复 log 包在 init 函数调用可能产生的空指针问题
|
2024-01-08 19:11:16 +08:00 |
kercylan98
|
d9ef3474a7
|
feat: server 包新增 WithDisableAutomaticReleaseShunt 可选项,可禁止分流渠道自动释放。增加 ReleaseShunt、HasShunt、GetShuntNum 等函数。优化系统分流渠道将不再能够被释放
|
2023-12-25 11:01:41 +08:00 |
kercylan98
|
d27fa7c246
|
perf: 更改 server 和 conn 的消息实现为 channel
|
2023-12-23 19:05:39 +08:00 |
kercylan98
|
eb28d42bf1
|
refactor: server.Server 兼容新的 concurrent.Pool 和 buffer.Unbounded
|
2023-12-23 18:15:34 +08:00 |
kercylan98
|
4f3b4eb1d5
|
other: 修改 server.WithTicker 将不再使用标准池的定时器,而是自行维护定时器池
|
2023-12-21 14:43:59 +08:00 |
kercylan98
|
508e30fb5b
|
fix: 修复 timer.Ticker 和 lockstep 包存在的内存泄漏问题
|
2023-12-20 16:57:54 +08:00 |
kercylan98
|
dc557a06d4
|
refactor: 优化及重构 server 包关于 WebSocket 的消息类型和消息分流部分内容
- 优化 server 包中 WebSocket 服务器默认响应的消息类型与发信方不同步的问题;
- 移除 server.WithShunt
函数,调整为通过 server.Server.UseShunt 来动态分流渠道,例如可以将用户连接的渠道在用户自身渠道或游戏房间渠道来回切换;
|
2023-12-01 16:35:27 +08:00 |
kercylan98
|
173dd11d4d
|
feat: server.Server 默认开启数据包大小警告,可通过 server.WithPacketWarnSize 关闭或调整警告大小,默认为 1MB
|
2023-11-28 09:32:53 +08:00 |
kercylan98
|
4c092c04d2
|
feat: server 包新增机器人,可通过 server.NewBot 函数进行创建,机器人将模拟普通连接行为,适用于测试等场景
|
2023-11-13 16:05:32 +08:00 |
kercylan98
|
e2b7887b14
|
feat: server 新增 Unique 异步消息,可用于避免相同标识的异步消息在未执行完毕前重复执行
|
2023-11-13 14:16:38 +08:00 |
kercylan98
|
70f7a79c88
|
refactor: server 包重构及性能优化
1、由于设计不合理,移除 server
包中跨服相关的内容;
2、重构消息处理机制和消息分流机制并优化性能;
3、分流消息支持数据包、定时任务、异步回调的分流;
4、长连接支持获取定时器。
|
2023-11-10 18:40:55 +08:00 |
kercylan98
|
18a0b06e0e
|
feat: server.Conn 支持获取连接打开时间及在线时长
|
2023-10-27 15:56:02 +08:00 |
kercylan98
|
89e9c517af
|
feat: server.Conn 支持通过 GetServer 获取到服务器实例
|
2023-10-21 18:20:12 +08:00 |
kercylan98
|
42ab52bc66
|
feat: server.Conn 支持在 WebSocket 模式下通过 GetWebsocketRequest 函数获取到请求
|
2023-10-16 19:08:25 +08:00 |
kercylan98
|
e60e0a754a
|
feat: server.Conn 支持通过 ViewData 函数查看只读的连接数据
|
2023-10-10 11:07:55 +08:00 |
kercylan98
|
551a3e5c51
|
perf: server.Conn 写循环更改为采用无界缓冲区的写入,优化整体逻辑
|
2023-09-19 16:49:28 +08:00 |
kercylan98
|
064d434a0c
|
feat: server 包新增 WithLimitLift 和 WithConnectionMessageChannelSize 函数,用于限制服务器最大生命周期及连接的消息写入通道大小
|
2023-09-09 16:21:06 +08:00 |
kercylan98
|
0215c5449a
|
fix: 修复 server.Conn 和 client.Client 连接关闭时发生的竞态问题
|
2023-09-09 14:12:57 +08:00 |
kercylan98
|
483ace2fa9
|
perf: server 包连接关闭逻辑优化
|
2023-09-08 15:54:51 +08:00 |
kercylan98
|
376ff779e1
|
refactor: 优化 server 包消息日志,移除 server.Conn.Reuse 函数(不合理)
|
2023-09-08 15:20:24 +08:00 |
kercylan98
|
15a491816a
|
fix: 修复 server 包 RegMessageExecBeforeEvent 函数导致内存泄露的问题
|
2023-09-05 10:57:44 +08:00 |
kercylan98
|
add1e4bc8c
|
fix: 修复宕机问题
|
2023-09-04 17:21:52 +08:00 |
kercylan98
|
1cbe8ecf56
|
perf: 提高消息吞吐量,降低消息延迟
|
2023-09-01 14:31:25 +08:00 |
kercylan98
|
4850dd4aa3
|
refactor: 调整 server 数据包相关处理函数的接收参数不再为 server.Packet,同时移除 server.Packet
|
2023-08-23 19:29:55 +08:00 |
kercylan98
|
351257033e
|
feat: gateway 数据包支持像普通数据包一样处理,并且支持自定义端点健康评估函数
|
2023-08-17 18:46:59 +08:00 |
kercylan98
|
5e26467dee
|
feat: server.Server 新增对连接写入事件前的处理函数
|
2023-07-27 14:44:45 +08:00 |
kercylan98
|
8dde18a36e
|
feat: server.Server 新增 ConnectionOpenedAfterEvent
|
2023-07-27 14:11:17 +08:00 |
kercylan
|
d0d2087fee
|
refactor: 移除分段锁map实现及 hash.Map、hash.ReadonlyMap 接口,移除 asynchronous 包,同步包更名为 concurrent
|
2023-07-21 23:32:46 +08:00 |
kercylan98
|
8b903072b1
|
refactor: 优化 server 消息类型,合并 Websocket 数据包监听到统一的 RegConnectionReceivePacketEvent 中
|
2023-07-07 15:05:36 +08:00 |
kercylan98
|
8e3325fcd8
|
fix: 修复请求成功 server.Conn 的 callback 不调用的问题
|
2023-07-06 14:05:20 +08:00 |
kercylan98
|
6144dd6bf0
|
feat: 支持在重连等情况时使用 server.Conn.Reuse 函数重用连接数据
|
2023-07-05 14:06:45 +08:00 |
kercylan98
|
47175660de
|
feat: 支持对 server.Conn 写入时调用带有 Callback 的写入函数
新增 server.Conn.WriteWithCallback() 和
server.Conn.WriteStringWithCallback()
|
2023-07-05 14:01:21 +08:00 |
kercylan98
|
e0571c7ed1
|
perf: 移除向连接发送数据时的空包处理
移除之后将允许发送空的数据包,否则在收到空数据包时将导致连接被关闭
|
2023-07-05 13:53:34 +08:00 |
kercylan98
|
e0c63d569d
|
refactor: 重构 server.ConnectionClosedEventHandle,修复部分问题
支持在连接关闭时获取到错误信息,修复建立连接立刻发送请求无法被处理的问题
|
2023-07-04 18:56:35 +08:00 |
kercylan98
|
0006ab049f
|
去除无用的write属性
|
2023-05-22 11:48:53 +08:00 |
kercylan98
|
7b67ac7783
|
支持直接写入字符串
|
2023-05-20 15:17:15 +08:00 |
kercylan98
|
83b61b9254
|
连接关闭逻辑优化
|
2023-05-19 16:48:32 +08:00 |
kercylan98
|
ba252155ff
|
去除同步发数据,不合理
|
2023-05-19 15:46:22 +08:00 |
kercylan98
|
4b12211e85
|
websocket写入优化
|
2023-05-19 11:48:53 +08:00 |
kercylan98
|
807d7a67c9
|
优化
|
2023-05-15 19:22:04 +08:00 |
kercylan98
|
57460ff40b
|
服务器连接异步读写
|
2023-05-15 12:32:53 +08:00 |
kercylan98
|
b28badbaab
|
服务器连接异步读写
|
2023-05-15 11:49:36 +08:00 |
kercylan98
|
926b69bee1
|
修复Websocket消息类型过滤不设置时无法接收数据包的问题,服务器增加连接分流功能
|
2023-05-15 10:01:09 +08:00 |
kercylan98
|
61ba4cfad6
|
连接优化
|
2023-05-11 10:44:38 +08:00 |
kercylan98
|
41b0417338
|
优化连接
|
2023-05-06 15:53:31 +08:00 |
kercylan98
|
723e618df2
|
简单游戏demo实现
|
2023-04-27 13:25:11 +08:00 |