Trait USubscription

Source
pub trait USubscription: Send + Sync {
    // Required methods
    fn subscribe<'life0, 'async_trait>(
        &'life0 self,
        subscription_request: SubscriptionRequest,
    ) -> Pin<Box<dyn Future<Output = Result<SubscriptionResponse, UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn unsubscribe<'life0, 'async_trait>(
        &'life0 self,
        unsubscribe_request: UnsubscribeRequest,
    ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fetch_subscriptions<'life0, 'async_trait>(
        &'life0 self,
        fetch_subscriptions_request: FetchSubscriptionsRequest,
    ) -> Pin<Box<dyn Future<Output = Result<FetchSubscriptionsResponse, UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn register_for_notifications<'life0, 'async_trait>(
        &'life0 self,
        notifications_register_request: NotificationsRequest,
    ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn unregister_for_notifications<'life0, 'async_trait>(
        &'life0 self,
        notifications_unregister_request: NotificationsRequest,
    ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fetch_subscribers<'life0, 'async_trait>(
        &'life0 self,
        fetch_subscribers_request: FetchSubscribersRequest,
    ) -> Pin<Box<dyn Future<Output = Result<FetchSubscribersResponse, UStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

The uProtocol Application Layer client interface to the uSubscription service.

Please refer to the uSubscription service specification for details.

Required Methods§

Source

fn subscribe<'life0, 'async_trait>( &'life0 self, subscription_request: SubscriptionRequest, ) -> Pin<Box<dyn Future<Output = Result<SubscriptionResponse, UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Subscribe to a topic, using a SubscriptionRequest

§Parameters
  • subscription_request - A request to subscribe
§Returns
Source

fn unsubscribe<'life0, 'async_trait>( &'life0 self, unsubscribe_request: UnsubscribeRequest, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Unsubscribe to a topic, using an UnsubscribeRequest

§Parameters
  • unsubscribe_request - A request to unsubscribe
§Returns
  • UStatus detailing if unsubscription was successful and if not why not
Source

fn fetch_subscriptions<'life0, 'async_trait>( &'life0 self, fetch_subscriptions_request: FetchSubscriptionsRequest, ) -> Pin<Box<dyn Future<Output = Result<FetchSubscriptionsResponse, UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch all subscriptions for a given topic or subscriber contained inside a FetchSubscriptionsRequest

§Parameters
  • fetch_subscriptions_request - A request to fetch subscriptions given a topic or subscriber
§Returns
Source

fn register_for_notifications<'life0, 'async_trait>( &'life0 self, notifications_register_request: NotificationsRequest, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Register for notifications relevant to a given topic inside a NotificationsRequest changing in subscription status.

§Parameters
  • notifications_register_request - A request to receive changes to subscription status
§Returns
  • UStatus detailing if notification registration was successful and if not why not
Source

fn unregister_for_notifications<'life0, 'async_trait>( &'life0 self, notifications_unregister_request: NotificationsRequest, ) -> Pin<Box<dyn Future<Output = Result<(), UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Unregister for notifications relevant to a given topic inside a NotificationsRequest changing in subscription status.

§Parameters
  • notifications_unregister_request - A request to no longer receive changes to subscription status
§Returns
  • UStatus detailing if notification unregistration was successful and if not why not
Source

fn fetch_subscribers<'life0, 'async_trait>( &'life0 self, fetch_subscribers_request: FetchSubscribersRequest, ) -> Pin<Box<dyn Future<Output = Result<FetchSubscribersResponse, UStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch a list of subscribers that are currently subscribed to a given topic in a FetchSubscribersRequest

§Parameters
  • fetch_subscribers_request - Request containing topic for which we’d like all subscribers’ info
§Returns

Implementors§