pub struct OptimizedMessageHandler<F> { /* private fields */ }
Available on crate feature
websocket
only.Expand description
Optimized handler for processing individual messages.
This handler is optimized for scenarios where each message should be processed
individually but you want the framework to handle the connection loop automatically.
It provides better performance than the general websocket_handler
for simple
per-message processing.
§Type Parameters
F
: The message processing function type
Implementations§
Source§impl<F> OptimizedMessageHandler<F>
impl<F> OptimizedMessageHandler<F>
Sourcepub fn new(handler: F) -> Self
pub fn new(handler: F) -> Self
Creates a new optimized message handler.
§Parameters
handler
: Function that processes individual messages
§Returns
A new OptimizedMessageHandler
instance
§Example
use ignitia::websocket::{OptimizedMessageHandler, WebSocketConnection, Message};
let handler = OptimizedMessageHandler::new(
|ws: WebSocketConnection, message: Message| async move {
match message {
Message::Text(text) => {
ws.send_text(format!("Processed: {}", text)).await?;
}
_ => {}
}
Ok(())
}
);
Trait Implementations§
Source§impl<F, Fut> WebSocketHandler for OptimizedMessageHandler<F>
impl<F, Fut> WebSocketHandler for OptimizedMessageHandler<F>
Source§fn handle_connection<'life0, 'async_trait>(
&'life0 self,
websocket: WebSocketConnection,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_connection<'life0, 'async_trait>(
&'life0 self,
websocket: WebSocketConnection,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handles a WebSocket connection for its entire lifetime. Read more
Source§fn on_message<'life0, 'life1, 'async_trait>(
&'life0 self,
_websocket: &'life1 WebSocketConnection,
_message: Message,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_message<'life0, 'life1, 'async_trait>(
&'life0 self,
_websocket: &'life1 WebSocketConnection,
_message: Message,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when a message is received (optional hook). Read more
Source§fn on_connect<'life0, 'life1, 'async_trait>(
&'life0 self,
_websocket: &'life1 WebSocketConnection,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_connect<'life0, 'life1, 'async_trait>(
&'life0 self,
_websocket: &'life1 WebSocketConnection,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when a connection is established (optional hook). Read more
Source§fn on_disconnect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_websocket: &'life1 WebSocketConnection,
_reason: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_disconnect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_websocket: &'life1 WebSocketConnection,
_reason: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a connection is closed (optional hook). Read more
Auto Trait Implementations§
impl<F> Freeze for OptimizedMessageHandler<F>
impl<F> RefUnwindSafe for OptimizedMessageHandler<F>where
F: RefUnwindSafe,
impl<F> Send for OptimizedMessageHandler<F>
impl<F> Sync for OptimizedMessageHandler<F>
impl<F> Unpin for OptimizedMessageHandler<F>
impl<F> UnwindSafe for OptimizedMessageHandler<F>where
F: RefUnwindSafe,
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