pub struct ReliableWebSocketSession { /* private fields */ }Expand description
Enhanced WebSocket session with reliability features
Implementations§
Source§impl ReliableWebSocketSession
impl ReliableWebSocketSession
Sourcepub fn new(url: String, config: WebSocketReliabilityConfig) -> Self
pub fn new(url: String, config: WebSocketReliabilityConfig) -> Self
Create a new reliable WebSocket session
Sourcepub async fn connect_reliable(&self) -> Result<()>
pub async fn connect_reliable(&self) -> Result<()>
Sourcepub async fn send_event_reliable(
&self,
event: RealtimeClientEvent,
) -> Result<()>
pub async fn send_event_reliable( &self, event: RealtimeClientEvent, ) -> Result<()>
Sourcepub async fn recv_event_reliable(&self) -> Result<RealtimeServerEvent>
pub async fn recv_event_reliable(&self) -> Result<RealtimeServerEvent>
Receive an event from the WebSocket
§Errors
Returns an error if no event can be received due to connection failures, WebSocket errors, or if no active connection exists.
Sourcepub async fn get_connection_state(&self) -> ConnectionState
pub async fn get_connection_state(&self) -> ConnectionState
Get current connection state
Sourcepub async fn is_connection_healthy(&self) -> bool
pub async fn is_connection_healthy(&self) -> bool
Check if connection is healthy
§Panics
Panics if the internal mutex for last heartbeat tracking is poisoned.
Sourcepub async fn get_stats(&self) -> WebSocketConnectionStats
pub async fn get_stats(&self) -> WebSocketConnectionStats
Get connection statistics
Sourcepub fn get_buffered_message_count(&self) -> usize
pub fn get_buffered_message_count(&self) -> usize
Get buffered message count
§Panics
This function will panic if the message buffer mutex is poisoned.
Sourcepub async fn flush_message_buffer(&self) -> Result<usize>
pub async fn flush_message_buffer(&self) -> Result<usize>
Trait Implementations§
Source§impl Debug for ReliableWebSocketSession
impl Debug for ReliableWebSocketSession
Auto Trait Implementations§
impl Freeze for ReliableWebSocketSession
impl !RefUnwindSafe for ReliableWebSocketSession
impl Send for ReliableWebSocketSession
impl Sync for ReliableWebSocketSession
impl Unpin for ReliableWebSocketSession
impl !UnwindSafe for ReliableWebSocketSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
Source§type Val = <C as Collection>::Val
type Val = <C as Collection>::Val
The type of values stored in the collection. This might be distinct from
Entry in complex collections.
For example, in a HashMap, while Entry might be a ( key, value ) tuple, Val might only be the value part.Source§fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
Converts an entry into a value representation specific to the type of collection. This conversion is crucial
for handling operations on entries, especially when they need to be treated or accessed as individual values,
such as retrieving the value part from a key-value pair in a hash map.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
Source§fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
Invokes the val_to_entry function of the CollectionValToEntry trait to convert the value to an entry.
Source§type Entry = <C as CollectionValToEntry<Val>>::Entry
type Entry = <C as CollectionValToEntry<Val>>::Entry
Represents the type of entry that corresponds to the value within the collection.
Type
Entry is defined by the Collection trait.