Skip to main content

Crate supabase_client_realtime

Crate supabase_client_realtime 

Source
Expand description

Supabase Realtime WebSocket client.

This crate implements the Phoenix Channels v1.0.0 protocol to provide real-time subscriptions for Postgres changes, broadcast messages, and presence tracking.

§Usage

use supabase_client_sdk::prelude::*;

let realtime = client.realtime()?;
realtime.connect().await?;

let channel = realtime.channel("db-changes")
    .on_postgres_changes(
        PostgresChangesEvent::Insert,
        PostgresChangesFilter::new("public", "messages"),
        |payload| println!("New row: {:?}", payload.record),
    )
    .subscribe(|status, _err| println!("Status: {}", status))
    .await?;

Re-exports§

pub use channel::ChannelBuilder;
pub use channel::RealtimeChannel;
pub use client::RealtimeClient;
pub use error::RealtimeError;
pub use types::BroadcastConfig;
pub use types::ChannelState;
pub use types::ColumnInfo;
pub use types::JoinConfig;
pub use types::JoinPayload;
pub use types::PostgresChangePayload;
pub use types::PostgresChangesEvent;
pub use types::PostgresChangesFilter;
pub use types::PresenceConfig;
pub use types::PresenceDiff;
pub use types::PresenceEntry;
pub use types::PresenceMeta;
pub use types::PresenceState;
pub use types::RealtimeConfig;
pub use types::ReconnectConfig;
pub use types::SubscriptionStatus;

Modules§

callback
channel
client
error
types

Traits§

SupabaseClientRealtimeExt
Extension trait to create a RealtimeClient from a SupabaseClient.