pub struct ModuleCommunicationHub { /* private fields */ }
Expand description
Communication hub for managing inter-module messages
Implementations§
Source§impl ModuleCommunicationHub
impl ModuleCommunicationHub
Sourcepub fn send_message(&mut self, message: InterModuleMessage) -> CoreResult<()>
pub fn send_message(&mut self, message: InterModuleMessage) -> CoreResult<()>
Send a message from one module to another
Sourcepub fn receive_messages(&mut self, module_name: &str) -> Vec<InterModuleMessage>
pub fn receive_messages(&mut self, module_name: &str) -> Vec<InterModuleMessage>
Receive messages for a specific module
Sourcepub fn get_pending_count(&self, module_name: &str) -> usize
pub fn get_pending_count(&self, module_name: &str) -> usize
Get pending message count for a module
Sourcepub fn optimize_routing(&mut self) -> CoreResult<()>
pub fn optimize_routing(&mut self) -> CoreResult<()>
Optimize routing paths between modules
Sourcepub fn enable_compression(&mut self) -> CoreResult<()>
pub fn enable_compression(&mut self) -> CoreResult<()>
Enable message compression for large payloads
Sourcepub fn remove_route(&mut self, source: &str, destination: &str)
pub fn remove_route(&mut self, source: &str, destination: &str)
Remove a routing entry
Sourcepub fn get_routes(&self, source: &str) -> Vec<String>
pub fn get_routes(&self, source: &str) -> Vec<String>
Get routing destinations for a source module
Sourcepub fn broadcast_message(
&mut self,
message: InterModuleMessage,
) -> CoreResult<()>
pub fn broadcast_message( &mut self, message: InterModuleMessage, ) -> CoreResult<()>
Broadcast a message to all connected modules
Sourcepub fn get_statistics(&self) -> &CommunicationStatistics
pub fn get_statistics(&self) -> &CommunicationStatistics
Get communication statistics
Sourcepub fn reset_statistics(&mut self)
pub fn reset_statistics(&mut self)
Reset communication statistics
Sourcepub fn update_latency(&mut self, latency: Duration)
pub fn update_latency(&mut self, latency: Duration)
Update message latency statistics
Sourcepub fn update_error_rate(&mut self, error_occurred: bool)
pub fn update_error_rate(&mut self, error_occurred: bool)
Update error rate statistics
Sourcepub fn clear_queues(&mut self)
pub fn clear_queues(&mut self)
Clear all message queues
Sourcepub fn clear_module_queue(&mut self, module_name: &str)
pub fn clear_module_queue(&mut self, module_name: &str)
Clear queue for a specific module
Sourcepub fn get_memory_usage(&self) -> usize
pub fn get_memory_usage(&self) -> usize
Get total memory usage of all queues
Sourcepub fn cleanup_expired_messages(&mut self, max_age: Duration)
pub fn cleanup_expired_messages(&mut self, max_age: Duration)
Cleanup expired messages (messages older than specified duration)
Sourcepub fn get_health_status(&self) -> CommunicationHealth
pub fn get_health_status(&self) -> CommunicationHealth
Get health status of the communication hub
Sourcepub fn create_optimized_pipeline(
&self,
input: &AdvancedInput,
config: &CrossModuleOptimizationConfig,
) -> CoreResult<OptimizedPipeline>
pub fn create_optimized_pipeline( &self, input: &AdvancedInput, config: &CrossModuleOptimizationConfig, ) -> CoreResult<OptimizedPipeline>
Create an optimized processing pipeline
Trait Implementations§
Source§impl Debug for ModuleCommunicationHub
impl Debug for ModuleCommunicationHub
Auto Trait Implementations§
impl Freeze for ModuleCommunicationHub
impl RefUnwindSafe for ModuleCommunicationHub
impl Send for ModuleCommunicationHub
impl Sync for ModuleCommunicationHub
impl Unpin for ModuleCommunicationHub
impl UnwindSafe for ModuleCommunicationHub
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more