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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
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> 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 moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.