feat(network)!: add v2 framing, pooled buffers and bounded dispatch
This commit is contained in:
@@ -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 -->
|
||||
|
||||
Reference in New Issue
Block a user