Crate pipebuf_rustls

source ·
Expand description

PipeBuf wrapper around Rustls

This offers a single “process” call that takes care of all the calls required to move data between the encrypted and plain-text sides of a Rustls ServerConnection. This would typically be used along with other PipeBuf-supporting crates such as pipebuf_mio or similar to offer transport, and a PipeBuf-based implementation of the wrapped protocol to form a complete solution.

This is not as efficient as if Rustls provided a PipeBuf or slice-based interface, since there is a lot of copying to/from internal Rustls buffers going on via Read and Write traits. But until a more efficient interface is available in Rustls, this is the best we can do.

TODO: Client-side TLS wrapper needs doing. It will be similar to the server-side code but it will require testing.

Versioning

This crate follows the major/minor version number of the Rustls crate it wraps. Rustls is re-exported as pipebuf_rustls::rustls.

Re-exports

Structs