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§
- Advanced
Filter - Advanced filter configuration
- Broadcast
Message - Broadcast message for cross-client communication
- Channel
Builder - Builder for channel subscriptions
- Connection
Pool - Connection pool for efficient WebSocket management
- Connection
Pool Config - Connection pool configuration
- Connection
Pool Stats - Statistics about the connection pool
- Presence
Event - Presence event for tracking user joins/leaves
- Presence
State - Presence state for user tracking
- Realtime
- Realtime client for WebSocket subscriptions
- Realtime
Message - Realtime message received from Supabase
- Realtime
Payload - Payload of a realtime message
- Subscription
- Subscription information
- Subscription
Config - Configuration for subscriptions
Enums§
- Filter
Operator - Filter operators for advanced filtering
- Presence
Event Type - Types of presence events
- Realtime
Event - Realtime event types for filtering subscriptions
Type Aliases§
- Broadcast
Callback - Callback for broadcast messages
- Connection
Storage - Type alias for complex connection storage
- Presence
Callback - Callback for presence events