pub trait RwBuilder{
type Reader;
type Writer;
// Required methods
fn reader(&self) -> Result<Self::Reader>;
fn writer(&self) -> Result<Self::Writer>;
// Provided methods
fn buffered(self) -> BufferedBuilder<Self> { ... }
fn string(self) -> Builder<Self> { ... }
fn bincode(self) -> BincodeBuilder<Self> { ... }
fn chacha20(
self,
key: ChaCha20Key,
nonce: ChaCha20Nonce,
) -> ChaCha20Builder<Self> { ... }
fn salsa20(
self,
key: Salsa20Key,
nonce: Salsa20Nonce,
) -> Salsa20Builder<Self> { ... }
fn crc(self) -> CrcBuilder<Self> { ... }
fn deflate(
self,
compression: Compression,
) -> CompressionBuilder<Self, Deflate> { ... }
fn gz(self, compression: Compression) -> CompressionBuilder<Self, Gz> { ... }
fn zlib(self, compression: Compression) -> CompressionBuilder<Self, Zlib> { ... }
}Expand description
The trait that can construct readers and writers, but also has chainable functions to create more complex builders
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn buffered(self) -> BufferedBuilder<Self>
fn buffered(self) -> BufferedBuilder<Self>
Buffers the underlying readers and writers by wrapping them in a
BufReader or BufWriter
Sourcefn string(self) -> Builder<Self>
fn string(self) -> Builder<Self>
Sink that provides a bridge between String instances and underlying
readers and writers.
Sourcefn bincode(self) -> BincodeBuilder<Self>
fn bincode(self) -> BincodeBuilder<Self>
Sink that provides a bridge between serde and the underlying readers and writer by transforming from and to bincode.
Sourcefn chacha20(
self,
key: ChaCha20Key,
nonce: ChaCha20Nonce,
) -> ChaCha20Builder<Self>
fn chacha20( self, key: ChaCha20Key, nonce: ChaCha20Nonce, ) -> ChaCha20Builder<Self>
Transformation that decrypts while reading and encrypts while writing using the chacha20 cipher
Sourcefn salsa20(self, key: Salsa20Key, nonce: Salsa20Nonce) -> Salsa20Builder<Self>
fn salsa20(self, key: Salsa20Key, nonce: Salsa20Nonce) -> Salsa20Builder<Self>
Transformation that decrypts while reading and encrypts while writing using the salsa20 cipher
Sourcefn crc(self) -> CrcBuilder<Self>
fn crc(self) -> CrcBuilder<Self>
Non-commutative transformation that hashes using the CRC algorithm
Sourcefn deflate(self, compression: Compression) -> CompressionBuilder<Self, Deflate>
fn deflate(self, compression: Compression) -> CompressionBuilder<Self, Deflate>
Transformation that decompresses while reading and compresses while writing using the Deflate algorithm
Sourcefn gz(self, compression: Compression) -> CompressionBuilder<Self, Gz>
fn gz(self, compression: Compression) -> CompressionBuilder<Self, Gz>
Transformation that decompresses while reading and compresses while writing using the Gz algorithm
Sourcefn zlib(self, compression: Compression) -> CompressionBuilder<Self, Zlib>
fn zlib(self, compression: Compression) -> CompressionBuilder<Self, Zlib>
Transformation that decompresses while reading and compresses while writing using the Zlib algorithm
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.