Skip to main content

Crate live_data

Crate live_data 

Source
Expand description

§live-data

Shared descriptor, manifest, and subscription types for the live-feed publisher SDK and the live-stream consumer SDK. The crate is transport-agnostic and I/O-free: it defines only the wire-shaped types that both sides of a live data ecosystem agree on.

§Stability

Early development, API in flux. The 0.1.0 line locks the shape of the wire protocol so the publisher and consumer SDKs can be built against a stable types crate; behavioural and ergonomic improvements land in the runtime crates rather than churning these types.

§Umbrella concepts

  • FeedDescriptor - a single named live feed with its schema, available transports, formats, and server-side capabilities.
  • FeedManifest - what a publisher returns when a consumer asks “what feeds are available here?”.
  • SubscriptionDescriptor - what a consumer sends when opening a feed: columns, filter, sampling, preferred transport, and preferred format.
  • SubscribeResponse - the publisher’s reply, either an SubscribeAck with the endpoint to consume from, or a SubscribeError explaining why the request was refused.

Re-exports§

pub use descriptor::Capabilities;
pub use descriptor::FeedDescriptor;
pub use endpoint::Endpoint;
pub use error::Error;
pub use error::Result;
pub use manifest::FeedManifest;
pub use schema::FieldSpec;
pub use schema::WireSchema;
pub use subscription::FilterExpr;
pub use subscription::Sampling;
pub use subscription::SubscribeAck;
pub use subscription::SubscribeError;
pub use subscription::SubscribeErrorCode;
pub use subscription::SubscribeResponse;
pub use subscription::SubscriptionDescriptor;
pub use transport::FormatPreference;
pub use transport::TransportPreference;
pub use transport::TransportTag;

Modules§

descriptor
Per-feed descriptor and capability advertisement.
endpoint
Network or local endpoint used to reach a publisher.
error
Crate-wide error type.
manifest
Top-level manifest a consumer fetches to browse a publisher.
schema
Wire-shaped schema used in feed manifests and subscription acks.
subscription
Subscription request and response types.
transport
Transport and format enumerations shared by publishers and consumers.

Constants§

CONTROL_TAG_FEEDS
Control-channel tag used by a consumer to request the manifest.
CONTROL_TAG_SUBSCRIBE
Control-channel tag used by a consumer to open a subscription.
PROTOCOL_VERSION
Wire protocol version negotiated between publishers and consumers.