feat(network)!: add v2 framing, pooled buffers and bounded dispatch
Publish UPM package / publish (push) Successful in 2s
Publish NuGet packages / publish (push) Successful in 3m5s

This commit is contained in:
2026-09-29 10:14:47 +08:00
parent c7c45b26f8
commit 93c2b8520b
36 changed files with 752 additions and 398 deletions
+13 -2
View File
@@ -92,7 +92,7 @@ public static class PingHandlers
```csharp
var service = new ShrinkNetworkService(
new ShrinkMessagePackNetworkSerializer(),
new ShrinkJsonNetworkSerializer(),
new ShrinkNetworkMessageRegistry(),
new ShrinkNetworkRouter());
@@ -285,9 +285,10 @@ new ShrinkRpcCallOptions
```csharp
new ShrinkJsonNetworkSerializer()
new ShrinkMessagePackNetworkSerializer()
```
生成式 MessagePack 通过可选包 `Adapters~/MessagePack` 接入。使用 `ShrinkNetwork.MessagePack.ShrinkMessagePackNetworkSerializer(GeneratedResolver.Instance)` 并显式 `Register<T>()`;旧无参反射适配器已移除。消息体只编码一次,外层统一使用协议 v2 的 SHK2 二进制封装。
## ✅ 最佳实践
- 所有消息统一用 `[ShrinkNetworkMessage]` 声明,不要只靠手写 `RegisterMessage<T>()`
@@ -367,3 +368,13 @@ var serverTransport = new ShrinkTcpServerTransport(
## 📄 License
[MIT](LICENSE)
## 可复用能力
<!-- shrink:capabilities -->
Capability: 消息合同、RPC、权限、TCP/KCP/Loopback 传输与有预算的串行排队
Aliases: 联机 网络 远程 rpc 广播 拥塞 背压 同步
Limits: 协议 v2 拒绝旧封装;TCP/KCP 均为可靠通道;可替换状态仅合并排队项,不用于快照分片
Extension: RegisterMessage/RegisterHandler;IShrinkNetworkBufferSerializer;ShrinkNetworkWorkQueue 状态键
Evidence: [ShrinkNetworkService](Runtime/Core/ShrinkNetworkService.cs); [ShrinkPacketCodec](Runtime/Serialization/ShrinkPacketCodec.cs); [ShrinkNetworkWorkQueue](Runtime/Core/ShrinkNetworkWorkQueue.cs)
<!-- /shrink:capabilities -->