Expand description
§centrifuge-client
Rust client SDK for the Centrifuge real-time messaging protocol.
Connect to Centrifugo or any Centrifuge-based server over WebSocket, subscribe to channels, and receive publications in real time.
§Quick Start
use centrifuge_client::{Client, ClientConfig, SubEvent};
let client = Client::new(ClientConfig::new("ws://localhost:8000/connection/websocket"));
let (sub, mut events) = client.subscribe("chat").await?;
client.connect().await?;
while let Some(event) = events.recv().await {
match event {
SubEvent::Publication(pub_data) => println!("{} bytes", pub_data.data.len()),
SubEvent::Subscribed(ctx) => println!("subscribed to {}", ctx.channel),
_ => {}
}
}The main entry points are Client and Subscription. See ClientConfig and
SubscriptionConfig for configuration options.
Re-exports§
pub use client::Client;pub use errors::CentrifugeError;pub use subscription::Subscription;pub use config::ClientConfig;pub use config::DeltaType;pub use config::ProtocolType;pub use config::SubscriptionConfig;pub use config::get_data_fn;pub use config::get_sub_data_fn;pub use config::get_sub_token_fn;pub use config::get_token_fn;
Modules§
Structs§
- Client
Info - Connected
Context - Connecting
Context - Disconnected
Context - Error
Context - Filter
Node - History
Options - History
Result - Join
Context - Leave
Context - Message
Context - Presence
Result - Presence
Stats Result - Publication
- Publication
Context - RpcResult
- Server
Error - Server
Join Context - Server
Leave Context - Server
Publication Context - Server
Subscribed Context - Server
Subscribing Context - Server
Unsubscribed Context - Stream
Position - Subscribed
Context - Subscribing
Context - Unsubscribed
Context
Enums§
- Client
Event - Events emitted by the client (connection lifecycle + server-side subscriptions).
- Client
State - SubEvent
- Events emitted by a client-side subscription.
- Subscription
State