pub struct StreamConverters;Implementations§
Source§impl StreamConverters
impl StreamConverters
pub fn from_reader<F, R>(factory: F, chunk_size: usize) -> Source<Vec<u8>>
pub fn to_writer<F, W>(factory: F) -> Sink<Vec<u8>, StreamCompletion<NotUsed>>
Sourcepub fn as_input_stream(
read_timeout: Duration,
) -> Sink<Vec<u8>, InputStreamHandle>
pub fn as_input_stream( read_timeout: Duration, ) -> Sink<Vec<u8>, InputStreamHandle>
Creates a Sink which when materialized returns an InputStreamHandle that can
be used to read the values produced by the stream this sink is attached to.
This sink bridges Datum streams to synchronous blocking code. The materialized
handle implements std::io::Read: each read() call blocks the caller (up to
read_timeout) until upstream produces a chunk, then copies as many bytes as
possible into the provided buffer. Partial reads are supported — the handle
retains any leftover bytes from a previous chunk and serves them on the next call.
EOF is signalled by read() returning Ok(0) when the stream completes. Stream
errors surface as io::Error. Dropping the handle cancels the stream.
Matches Akka StreamConverters.asInputStream semantics.
Sourcepub fn as_output_stream(
write_timeout: Duration,
) -> Source<Vec<u8>, OutputStreamHandle>
pub fn as_output_stream( write_timeout: Duration, ) -> Source<Vec<u8>, OutputStreamHandle>
Creates a Source which when materialized returns an OutputStreamHandle that
can be used to write bytes into the stream.
This source is intended for inter-operation with blocking APIs. The materialized
handle implements std::io::Write: each write() call blocks (up to
write_timeout) until the stream has capacity, then produces one stream element
from the written bytes. Backpressure is respected — writes block when the internal
buffer is full.
flush() is a no-op. OutputStreamHandle::close() completes the stream (signals
EOF to downstream). Dropping the handle cancels the stream.
Matches Akka StreamConverters.asOutputStream semantics.