Module realtime

Source
Expand description

Realtime module for Supabase WebSocket subscriptions

This module provides cross-platform WebSocket support using proper abstractions:

  • Native: Uses tokio-tungstenite with TLS support
  • WASM: Uses web-sys WebSocket API through the browser

§Usage

use supabase::Client;
use supabase::realtime::RealtimeEvent;

let client = Client::new("your-url", "your-key")?;
let realtime = client.realtime();

// Connect to realtime
realtime.connect().await?;

// Subscribe to table changes
let subscription_id = realtime
    .channel("posts")
    .table("posts")
    .event(RealtimeEvent::All)
    .subscribe(|message| {
        println!("Received update: {:?}", message);
    })
    .await?;

// Later, unsubscribe
realtime.unsubscribe(&subscription_id).await?;

Structs§

AdvancedFilter
Advanced filter configuration
BroadcastMessage
Broadcast message for cross-client communication
ChannelBuilder
Builder for channel subscriptions
ConnectionPool
Connection pool for efficient WebSocket management
ConnectionPoolConfig
Connection pool configuration
ConnectionPoolStats
Statistics about the connection pool
PresenceEvent
Presence event for tracking user joins/leaves
PresenceState
Presence state for user tracking
Realtime
Realtime client for WebSocket subscriptions
RealtimeMessage
Realtime message received from Supabase
RealtimePayload
Payload of a realtime message
Subscription
Subscription information
SubscriptionConfig
Configuration for subscriptions

Enums§

FilterOperator
Filter operators for advanced filtering
PresenceEventType
Types of presence events
RealtimeEvent
Realtime event types for filtering subscriptions

Type Aliases§

BroadcastCallback
Callback for broadcast messages
ConnectionStorage
Type alias for complex connection storage
PresenceCallback
Callback for presence events