Struct svc_agent::Subscription
source · pub struct Subscription {}
Expand description
Messages subscription builder.
Implementations§
source§impl 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);