Trait Notifier

Source
pub trait Notifier: Send + Sync {
    // Required methods
    fn notify<'life0, 'life1, 'async_trait>(
        &'life0 self,
        resource_id: u16,
        destination: &'life1 UUri,
        call_options: CallOptions,
        payload: Option<UPayload>,
    ) -> Pin<Box<dyn Future<Output = Result<(), NotificationError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn start_listening<'life0, 'life1, 'async_trait>(
        &'life0 self,
        topic: &'life1 UUri,
        listener: Arc<dyn UListener>,
    ) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn stop_listening<'life0, 'life1, 'async_trait>(
        &'life0 self,
        topic: &'life1 UUri,
        listener: Arc<dyn UListener>,
    ) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

A client for sending Notification messages to a uEntity.

Please refer to the Communication Layer API Specifications.

Required Methods§

Source

fn notify<'life0, 'life1, 'async_trait>( &'life0 self, resource_id: u16, destination: &'life1 UUri, call_options: CallOptions, payload: Option<UPayload>, ) -> Pin<Box<dyn Future<Output = Result<(), NotificationError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Sends a notification to a uEntity.

§Arguments
  • resource_id - The (local) resource identifier representing the origin of the notification.
  • destination - A URI representing the uEntity that the notification should be sent to.
  • call_options - Options to include in the notification message.
  • payload - The payload to include in the notification message.
§Errors

Returns an error if the given message is not a valid uProtocol Notification message.

Source

fn start_listening<'life0, 'life1, 'async_trait>( &'life0 self, topic: &'life1 UUri, listener: Arc<dyn UListener>, ) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Starts listening to a notification topic.

More than one handler can be registered for the same topic. The same handler can be registered for multiple topics.

§Arguments
  • topic - The topic to listen to. The topic must not contain any wildcards.
  • listener - The handler to invoke for each notification that has been sent on the topic.
§Errors

Returns an error if the listener cannot be registered.

Source

fn stop_listening<'life0, 'life1, 'async_trait>( &'life0 self, topic: &'life1 UUri, listener: Arc<dyn UListener>, ) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Deregisters a previously registered handler for listening to notifications.

§Arguments
  • topic - The topic that the handler had been registered for.
  • listener - The handler to unregister.
§Errors

Returns an error if the listener cannot be unregistered.

Implementors§

Source§

impl Notifier for MockNotifier

A client for sending Notification messages to a uEntity.

Source§

impl Notifier for SimpleNotifier