ASIO Buffer 使用简记
近段有相当一部分时间在熟悉和练习 ASIO。
练习过程中发现 ASIO 中如何使用&管理 buffer 是新手大概率会遇到的问题。
结合最近几个 practice demo,稍微简单总结了一下使用经验:
0x00
const_buffer
和 mutable_buffer
是两个 fundamental buffer classes。二者的区别在语义上表达的很明显了。
实现上二者提供的接口非常一致,除了一个面向 const void*
,另一个面向 void*
。这点可以从 ctor 和 data()
中看出。
另外,为了和 C++ 现有的 const cast semantics 保持一致,一个 mutable_buffer
对象可以 implicitly converted to const_buffer
。