专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

【BeetleX重构】实现一个可读写的ReadOnlySequence适配器

dotNET跨平台  · 公众号  ·  · 2024-05-28 08:00
    

文章预览

        ReadOnlySequence只是一个可读取非连续内存结构,它的使用更多了现在Pipe中。由 Pipe的Writer负责非 连续内存数据写入(一般挂载到Socket的接收端),而对应的Reader则获取相应可读的 ReadOnlySequence数据。Pipe是一个高效的异步读写模型,它可以更好地分离 Socket读写逻辑,从而让 Socket收发的异步处理更高效复位到相关状态工作。         由于 Pipe是基于异步的,对于IO分离读写的确很适合。但对于内存读写的处理从效率上来说就不太适合了。在编写网络服务时一般都可以挂 Pipe用作底层处理,那上层的SslStream就并不适合了。为了上层的统一处理方式那就有必要把 SslStre am的数据转成 ReadOnlySeq uence。到这里可能有个疑问直接把 SslStre am的数据读出来然后返回对应的 ReadOnlySeq uence就可以了啊,为什么还多花时间写个适配器? 但网络数据处理上有些不同 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览
推荐文章