Struct svc_agent::Subscription
source · [−]pub struct Subscription {}
Expand description
Messages subscription builder.
Implementations
sourceimpl Subscription
impl Subscription
sourcepub fn broadcast_events<'a, A>(
from: &'a A,
version: &'a str,
uri: &'a str
) -> EventSubscription<'a> where
A: Authenticable,
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 thefrom
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");
sourcepub fn multicast_requests(version: Option<&str>) -> RequestSubscription<'_>
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 thefrom
agent. Example:v1
.
Example
let subscription = Subscription::multicast_requests("v1");
sourcepub fn multicast_requests_from<'a, A>(
from: &'a A,
version: Option<&'a str>
) -> RequestSubscription<'a> where
A: Addressable,
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 thefrom
agent. Example:v1
.
Example
let agent = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let subscription = Subscription::multicast_requests_from(&agent, "v1");
sourcepub fn unicast_requests<'a>() -> RequestSubscription<'a>
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();
sourcepub fn unicast_requests_from<A>(from: &A) -> RequestSubscription<'_> where
A: Authenticable,
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
from
– anything Addressable to receive requests from. For example service AgentId.
Example
let agent = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let subscription = Subscription::unicast_requests(&agent);
sourcepub fn unicast_responses<'a>() -> ResponseSubscription<'a>
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();
sourcepub fn unicast_responses_from<A>(from: &A) -> ResponseSubscription<'_> where
A: Authenticable,
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
impl RefUnwindSafe for Subscription
impl Send for Subscription
impl Sync for Subscription
impl Unpin for Subscription
impl UnwindSafe for Subscription
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more