1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! File and stdio stream implementation of the `RustStream` broker contract, built on
//! `sea-streamer`.
//!
//! The gap this crate fills: running a service against a persistent stream without an
//! external broker. Two transports in one crate, over
//! [`sea-streamer-file`](https://docs.rs/sea-streamer-file) and
//! [`sea-streamer-stdio`](https://docs.rs/sea-streamer-stdio):
//!
//! - [`FileBroker`] - a persistent, replayable stream on disk: survives restarts, records
//! and replays, and repositioning is first-class - [`FileSubscriber`] implements the
//! framework's `Seekable` capability with pinned captured positions (a sequence rewind is
//! inclusive) plus beginning/end/timestamp forms.
//! - [`StdioBroker`] - standard input and output as one stream, so a service becomes a stage
//! of a shell pipeline; something no network broker can offer.
//!
//! Honest scope: the client keeps no consumer positions (its resumable mode is
//! unimplemented upstream), so acknowledgement reports
//! [`AckError::Unsupported`](ruststream::AckError::Unsupported) on both transports - resume
//! explicitly via the descriptor's start position or a captured [`FilePosition`]. Payloads
//! are plain bytes with no header space, so user headers travel in a text-safe envelope
//! applied only when headers are present - a file written without headers stays readable as
//! a plain payload stream by other tools. The file transport does not build on Windows (an
//! upstream constraint).
pub use SeaFileError;
pub use ;
pub use ;
pub use ;
pub use FileStream;
pub use ;