以惯用方式处理TcpStream或SslStream

时间:2016-05-19 21:47:26

标签: rust

我正在开发一个可以使用TcpStreamSslStream的项目,具体取决于用户配置的内容。我有一些简单的方法,例如send_cmd(stream)recv_msg(stream),它们可以在这些流上运行。

创建一个可能是TcpStreamSslStream的枚举并将其传递给这些方法会更加惯用吗?或者用特征做一些事情会更好,比如要求这些方法的stream参数实现ReadWrite特征?

我的想法是,枚举解决方案会更好,因为它明确说明了我们希望处理的数据类型,而不是允许实现ReadWrite的任何内容,例如文件。另一方面,在使用流之前,需要匹配所有这些方法。想法?

1 个答案:

答案 0 :(得分:1)

原来在openssl库中内置了一个解决方案:openssl::ssl::MaybeSslStream