Skip to main content

Crate centrifuge_client

Crate centrifuge_client 

Source
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§

client
config
errors
subscription
transport

Structs§

ClientInfo
ConnectedContext
ConnectingContext
DisconnectedContext
ErrorContext
FilterNode
HistoryOptions
HistoryResult
JoinContext
LeaveContext
MessageContext
PresenceResult
PresenceStatsResult
Publication
PublicationContext
RpcResult
ServerError
ServerJoinContext
ServerLeaveContext
ServerPublicationContext
ServerSubscribedContext
ServerSubscribingContext
ServerUnsubscribedContext
StreamPosition
SubscribedContext
SubscribingContext
UnsubscribedContext

Enums§

ClientEvent
Events emitted by the client (connection lifecycle + server-side subscriptions).
ClientState
SubEvent
Events emitted by a client-side subscription.
SubscriptionState