dspk_stream/lib.rs
1//! Network sessions for continuous multi-channel signals: a server streams a recording, a client
2//! receives its exact description, its stored samples, and envelopes of any view.
3//!
4//! - [`protocol`]: the messages (generated from `proto/dspk_stream.proto`), their framing, and
5//! conversions to and from dspk-core / dspk-view types.
6//! - [`transport`]: QUIC + TLS 1.3 endpoints, the server session and the client session.
7//!
8//! Local recording I/O lives in `dspk-io`; envelopes and pyramids in `dspk-view` (a server answers
9//! views with them).
10
11pub mod error;
12pub mod protocol;
13pub mod transport;
14
15pub use error::{StreamError, StreamResult};
16/// Files under a server's data root (safe paths, listings).
17pub use transport::files;
18/// Jobs a server runs for its clients (sorts), one at a time.
19pub use transport::jobs;
20pub use transport::{
21 checked_view, client_config, client_config_with, serve_recording, serve_session, server_config, Device, OpenRecording, RecordingOpener, server_config_with_clients, Authority, ClientIdentity, ClientRecord,
22 Enrollment, Pacing, Peer, Permission, RemoteSignal, RemoteSource, ServeOptions, Server, ServerIdentity, ServerTls, ServerTrust, Session, SignalReceiver, DEFAULT_MAX_CONNECTIONS,
23 DEFAULT_MAX_REQUEST_BYTES, MAX_VIEW_COLUMNS, MAX_VIEW_VALUES, REFUSED_CLIENT,
24};