rust 来自Actix-web中`Arc< [u8]>`的HTTP响应体?

gcuhipw9  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(86)

我正在使用Actix-web编写一个Web服务器。我有一个缓存组件,它将一些数据存储为Arc<[u8]>,现在我想直接发送这些数据,而不需要进行不必要的复制。
我没有找到任何直接的方法来实现这一点,所以我试图找出如何为我的 Package 器类型实现MessageBody trait,但我在将Arc<[u8]>转换为actix_web::web::Bytes时卡住了。文档实际上谈到了Bytes支持Arc,但我找不到任何实际使用它的方法。
在Actix-web中为Arc<[u8]>体提供服务的最佳方式是什么?

hl0ma9xz

hl0ma9xz1#

考虑到Bytes是字节数组的引用计数和写时复制容器,它在语义上与Arc<[u8]>非常相似,但有一些额外的功能。我建议将缓存改为存储Bytes值,而不是Arc<[u8]>,然后问题就消失了。

相关问题