Struct svc_agent::Subscription

source ·
pub struct Subscription {}
Expand description

Messages subscription builder.

Implementations§

source§

impl Subscription

source

pub fn broadcast_events<'a, A>( from: &'a A, version: &'a str, uri: &'a str ) -> EventSubscription<'a>where A: Authenticable,

Builds an EventSubscription for broadcast events.

Use it to subscribe to events from some service,

Arguments
  • from – anything Addressable to receive events from. For example service AgentId.
  • version – API version string of the from agent. Example: v1.
  • uri – resource path divided by / to receive events on. Example: room/ROOM_ID/events.
Example
let agent = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let subscription = Subscription::broadcast_events(&agent, "v1", "rooms/123/events");
source

pub fn multicast_requests(version: Option<&str>) -> RequestSubscription<'_>

Builds a RequestSubscription for multicast requests from any agent.

Use it to subscribe a stateless service endpoint to its consumers’ requests.

Arguments
  • version – API version string of the from agent. Example: v1.
Example
let subscription = Subscription::multicast_requests("v1");
source

pub fn multicast_requests_from<'a, A>( from: &'a A, version: Option<&'a str> ) -> RequestSubscription<'a>where A: Addressable,

Builds a RequestSubscription for multicast requests from a specific agent.

This is the same as multicast_requests but subscribes only from requests from a specific agent.

Arguments
  • from – anything Addressable to receive requests from. For example service AgentId.
  • version – API version string of the from agent. Example: v1.
Example
let agent = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let subscription = Subscription::multicast_requests_from(&agent, "v1");
source

pub fn unicast_requests<'a>() -> RequestSubscription<'a>

Builds a RequestSubscription for unicast requests from any agent.

Use it to subscribe a stateful service endpoint to its consumers’ requests.

Example
let subscription = Subscription::unicast_requests();
source

pub fn unicast_requests_from<A>(from: &A) -> RequestSubscription<'_>where A: Authenticable,

Builds a RequestSubscription for unicast requests from a specific agent.

This is the same as unicast_requests but subscribes only from requests from a specific agent.

Arguments
Example
let agent = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let subscription = Subscription::unicast_requests(&agent);
source

pub fn unicast_responses<'a>() -> ResponseSubscription<'a>

Builds a ResponseSubscription for unicast requests from any agent.

Use it to subscribe to responses from all services.

Example
let subscription = Subscription::unicast_responses();
source

pub fn unicast_responses_from<A>(from: &A) -> ResponseSubscription<'_>where A: Authenticable,

Builds a ResponseSubscription for unicast requests from a specific agent.

This is the same as unicast_responses but subscribes only from requests from a specific agent.

Example
let agent = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let subscription = Subscription::unicast_responses_from(&agent);

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.