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>

Create a message router

fn create_publisher(&self) -> Result<Box<dyn Publisher>, NerveError>

Create a publisher

fn create_subscriber(&self) -> Result<Box<dyn Subscriber>, NerveError>

Create a subscriber

fn create_subscription_manager( &self, ) -> Result<Box<dyn SubscriptionManager>, NerveError>

Create a subscription manager

fn create_request_response( &self, ) -> Result<Box<dyn RequestResponse>, NerveError>

Create a request-response handler

fn message_throughput(&self) -> f64

Get message throughput (messages per second)

fn error_rate(&self) -> f64

Get error rate percentage

Implementors§