pub struct MessageProcessor {
pub channel_id: ChannelId,
pub input_receiver: Option<UnboundedReceiver<TickerMessage>>,
pub output_sender: Sender<TickerMessage>,
pub stats: Arc<RwLock<ProcessorStats>>,
pub task_handle: Option<JoinHandle<()>>,
}Expand description
High-performance message processor with dedicated parsing task
Fields§
§channel_id: ChannelId§input_receiver: Option<UnboundedReceiver<TickerMessage>>§output_sender: Sender<TickerMessage>§stats: Arc<RwLock<ProcessorStats>>§task_handle: Option<JoinHandle<()>>Implementations§
Source§impl MessageProcessor
impl MessageProcessor
Sourcepub fn new(
channel_id: ChannelId,
input_receiver: UnboundedReceiver<TickerMessage>,
buffer_size: usize,
) -> (Self, Receiver<TickerMessage>)
pub fn new( channel_id: ChannelId, input_receiver: UnboundedReceiver<TickerMessage>, buffer_size: usize, ) -> (Self, Receiver<TickerMessage>)
Create a new message processor
Sourcepub async fn get_stats(&self) -> ProcessorStats
pub async fn get_stats(&self) -> ProcessorStats
Get current processor statistics
Sourcepub fn queue_size(&self) -> usize
pub fn queue_size(&self) -> usize
Get current queue size (non-blocking)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MessageProcessor
impl !RefUnwindSafe for MessageProcessor
impl Send for MessageProcessor
impl Sync for MessageProcessor
impl Unpin for MessageProcessor
impl !UnwindSafe for MessageProcessor
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