liminal-bus-protocol 0.2.0

The liminal bus's wire protocol: frames, their codec, envelopes, version and schema negotiation, and stream multiplexing
Documentation
pub mod backpressure;
pub mod causal;
pub mod codec;
pub mod envelope;
pub mod error;
pub mod frame;
pub mod handshake;
pub mod lifecycle;
pub mod multiplex;
pub mod schema;
pub mod version;
pub mod worker_refusal;

#[cfg(test)]
mod worker_refusal_tests;

pub use backpressure::{AcceptPayload, DeferPayload, PressureState, RejectPayload, StreamPressure};
pub use causal::{CausalContext, MessageId, extract_causal_context};
pub use codec::{decode, encode, encoded_len};
pub use envelope::{MessageEnvelope, SchemaId};
pub use error::{PASS_EXPIRED_CODE, ProtocolError};
pub use frame::{
    CONVERSATION_REPLY_REQUESTED_FLAG, DELIVER_MESSAGE_ID_FLAG, DELIVER_MESSAGE_ID_VERSION,
    DELIVER_POSITION_FLAG, DISCONNECT_REASON_BODY_MAX, DISCONNECT_REASON_BODY_VERSION,
    DISCONNECT_REASON_NAME_MAX, DeliveredId, DisconnectReason, Frame, FrameHeader, FrameType,
    INBOX_ACK_VERSION, LINK_MACHINE_LEN, LinkEnd, LinkOffer, LinkOpenOutcome,
    PUBLISH_ACK_BOOT_FLAG, PUBLISH_ACK_BOOT_VERSION, PUBLISH_ACK_POSITION_VERSION,
    PUBLISH_DELIVERED_FLAG, PUBLISH_DURABLE_POSITION_FLAG, PUBLISH_IDEMPOTENCY_KEY_FLAG,
    REVOCATION_CLOSE_VERSION, WorkerActivityDescriptor, WorkerRegisterOutcome, WorkerRegistration,
    validate_stream,
};
pub use multiplex::{StreamAllocator, StreamId, StreamState, StreamTable};
pub use schema::{negotiate_schema, subscribe_error_frame};
pub use version::{ProtocolVersion, negotiate_version};
pub use worker_refusal::{
    PUSH_REPLY_REFUSED_FLAG, WORKER_REFUSAL_WORDS_MAX, WorkerRefusal, WorkerRefusalCode,
};