Skip to main content

Crate gsp

Crate gsp 

Source
Expand description

Group Signaling Protocol — signalling sub-protocol of the Group Protocol Stack.

Receive-side pipeline (GSP §7): decrypt (handled by GBP) → check sender authorisation → validate args schema → apply atomically → ACK / NACK.

This crate provides:

  • GspSignal — the CBOR-encoded signal envelope.
  • GspClient — stateful client that maintains:
    • request_id deduplication;
    • a mute-list;
    • the current membership set (driven by JOIN / LEAVE);
    • signal_typegbp_core::SignalType decoding.

See gbp-protocol for the underlying frame format.

Re-exports§

pub use capabilities::CapabilitiesNegotiator;
pub use client::GspAccept;
pub use client::GspClient;
pub use client::GspError;
pub use roles::Permissions;
pub use roles::RoleError;
pub use roles::RoleRegistry;
pub use roles::RoleSpec;
pub use signal::GspSignal;

Modules§

capabilities
Capability negotiation (CAPABILITIES_ADVERTISE, gbp-control-plane §3).
client
Stateful GSP client.
roles
Role registry and permission checks (GSP §5 — ROLE_CHANGE).
signal
GSP signal codec. Six CBOR keys.