Trait CommunicationComponent
pub trait CommunicationComponent: NerveComponent {
// Required methods
fn create_router(&self) -> Result<Box<dyn MessageRouter>, NerveError>;
fn create_publisher(&self) -> Result<Box<dyn Publisher>, NerveError>;
fn create_subscriber(&self) -> Result<Box<dyn Subscriber>, NerveError>;
fn create_subscription_manager(
&self,
) -> Result<Box<dyn SubscriptionManager>, NerveError>;
fn create_request_response(
&self,
) -> Result<Box<dyn RequestResponse>, NerveError>;
fn message_throughput(&self) -> f64;
fn error_rate(&self) -> f64;
}Expand description
Communication component interface
Required Methods§
fn create_router(&self) -> Result<Box<dyn MessageRouter>, NerveError>
fn create_router(&self) -> Result<Box<dyn MessageRouter>, NerveError>
Create a message router
fn create_publisher(&self) -> Result<Box<dyn Publisher>, NerveError>
fn create_publisher(&self) -> Result<Box<dyn Publisher>, NerveError>
Create a publisher
fn create_subscriber(&self) -> Result<Box<dyn Subscriber>, NerveError>
fn create_subscriber(&self) -> Result<Box<dyn Subscriber>, NerveError>
Create a subscriber
fn create_subscription_manager(
&self,
) -> Result<Box<dyn SubscriptionManager>, NerveError>
fn create_subscription_manager( &self, ) -> Result<Box<dyn SubscriptionManager>, NerveError>
Create a subscription manager
fn create_request_response(
&self,
) -> Result<Box<dyn RequestResponse>, NerveError>
fn create_request_response( &self, ) -> Result<Box<dyn RequestResponse>, NerveError>
Create a request-response handler
fn message_throughput(&self) -> f64
fn message_throughput(&self) -> f64
Get message throughput (messages per second)
fn error_rate(&self) -> f64
fn error_rate(&self) -> f64
Get error rate percentage