rust - 如何克隆openssl::ssl::SslStream?

标签 rust stream

std::net::TcpStream具有 try_clone() 方法来克隆基础套接字,但是 openssl::ssl::SslStream 没有相似之处。

最佳答案

克隆SslStream毫无意义,因为SSL/TLS逻辑包含状态。所有克隆都需要达成共识并更新该状态。

实际上,它曾经实现了Clone,因为它是一个大型步枪,所以分别是deprecatedremoved

您将需要将其包装在Arc<Mutex<_>>或等效物中并对其进行克隆。另一种方法是重组代码,以便只有一件事拥有该流的所有权,并且您可以通过其他技术进行通信。

也可以看看:

  • Do I need to move away from Tokio as I cannot split streams in TLS connections?
  • Separate TcpStream + SslStream into read and write components
  • 关于rust - 如何克隆openssl::ssl::SslStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61643574/

    相关文章:

    data-structures - 为什么由于 "overflow while adding drop-check rules"无法实例化数据结构?

    rust - 如何定义外部类型?

    c - 使用 "fgetc"提前发送 EOF

    node.js - 流利的 ffmpeg 模块 : "end" event does not fire

    scala - Stream 什么时候需要懒惰?

    go - 在 Golang 和 Rust 上使用 Messagepack 编码时的输出不同

    go - gRPC客户端不占用服务器端流

    stream - 为什么这个 Dart 广播流不接受多个监听调用

    file-upload - 使用 node.js 上的 knox 将八位字节流从请求流式传输到 S3

    pipe - 将采用 Write 的函数连接到采用 Read 的函数