对于IoArgs作用的疑问
来源:9-9 消息分片传输设计与实现-1
weixin_慕莱坞8108303
2023-02-13
老师,在项目中IoArgs的作用主要是在packet和真实发送接收之间做缓冲的吗,比较好奇为什么需要这种缓冲,它对于实际发送会有什么样的好处?
写回答
1回答
-
Qiujuer
2023-02-17
IoArgs 可以算是我们分层结构中的一个必要产物,目的在于将数据分成更小的可管理的单元再进行发送;当然咱们课程的IoArgs并非最好的方案,最优的方案也应该存在IoArgs的类,但内部应该仅仅存储状态+数据偏移位来做到对数据的管理;尽可能少的对数据进行多次copy操作;当然课程本身简化了这里的工作量。
Frame\IoArgs\Packet
几个类组成了整个传输的不同层次,而不同层之间存在不同的调度,消费方式,所以如果仅仅传递一个Packet到全局,这势必会让Packet内部增加非常多的状态变量来维持不同层的运转,但这必然会让代码变得臃肿不可维护;从代码设计来说应当尽量避免这样的情况。
以上是一些我当初设计时的想法,希望能为你解惑
00
相似问题
IoArgs并发读问题
回答 1