[][src]Struct svc_agent::mqtt::OutgoingMessageContent

pub struct OutgoingMessageContent<T, P> where
    T: Serialize
{ /* fields omitted */ }

Implementations

impl<T> OutgoingMessageContent<T, OutgoingEventProperties> where
    T: Serialize
[src]

pub fn broadcast(
    payload: T,
    properties: OutgoingEventProperties,
    to_uri: &str
) -> OutgoingMessage<T>
[src]

Builds a broadcast event to publish.

Arguments

  • payload – any serializable value.
  • properties – properties of the outgoing event.
  • to_uri – broadcast resource path. See Destination for details.

Example

let short_term_timing = OutgoingShortTermTimingProperties::until_now(start_timestamp);

let message = OutgoingEvent::broadcast(
    json!({ "foo": "bar" }),
    request.to_event("message.create", short_term_timing),
    "rooms/123/events",
);

pub fn multicast<A>(
    payload: T,
    properties: OutgoingEventProperties,
    to: &A
) -> OutgoingMessage<T> where
    A: Authenticable
[src]

Builds a multicast event to publish.

Arguments

  • payload – any serializable value.
  • properties – properties of the outgoing event.
  • to – destination AccountId.

Example

let short_term_timing = OutgoingShortTermTimingProperties::until_now(start_timestamp);

let message = OutgoingRequest::multicast(
    json!({ "foo": "bar" }),
    request.to_event("message.create", short_term_timing),
    &AccountId::new("service_name", "svc.example.org"),
);

pub fn unicast<A>(
    payload: T,
    properties: OutgoingEventProperties,
    to: &A,
    version: &str
) -> OutgoingMessage<T> where
    A: Addressable
[src]

Builds a unicast event to publish.

Arguments

  • payload – any serializable value.
  • properties – properties of the outgoing event.
  • to – destination AgentId.
  • version – destination agent's API version.

Example

let short_term_timing = OutgoingShortTermTimingProperties::until_now(start_timestamp);

let message = OutgoingRequest::multicast(
    json!({ "foo": "bar" }),
    request.to_event("message.create", short_term_timing),
    &AgentId::new("instance01", AccountId::new("service_name", "svc.example.org")),
    "v1",
);

impl<T> OutgoingMessageContent<T, OutgoingRequestProperties> where
    T: Serialize
[src]

pub fn multicast<A>(
    payload: T,
    properties: OutgoingRequestProperties,
    to: &A
) -> OutgoingMessage<T> where
    A: Authenticable
[src]

Builds a multicast request to publish.

Arguments

  • payload – any serializable value.
  • properties – properties of the outgoing request.
  • to – destination AccountId.

Example

let props = request.properties().to_request(
    "room.enter",
    &Subscription::unicast_responses(),
    "some_corr_data",
    OutgoingShortTermTimingProperties::until_now(start_timestamp),
);

let to = AccountId::new("service_name", "svc.example.org");
let message = OutgoingRequest::multicast(json!({ "foo": "bar" }), props, &to);

pub fn unicast<A>(
    payload: T,
    properties: OutgoingRequestProperties,
    to: &A,
    version: &str
) -> OutgoingMessage<T> where
    A: Addressable
[src]

Builds a unicast request to publish.

Arguments

  • payload – any serializable value.
  • properties – properties of the outgoing request.
  • to – destination AgentId.
  • version – destination agent's API version.

Example

let props = request.properties().to_request(
    "room.enter",
    &Subscription::unicast_responses(),
    "some_corr_data",
    OutgoingShortTermTimingProperties::until_now(start_timestamp),
);

let to = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let message = OutgoingRequest::unicast(json!({ "foo": "bar" }), props, to, "v1");

impl<T> OutgoingMessageContent<T, OutgoingResponseProperties> where
    T: Serialize
[src]

pub fn unicast<A>(
    payload: T,
    properties: OutgoingResponseProperties,
    to: &A,
    version: &str
) -> OutgoingMessage<T> where
    A: Addressable
[src]

Builds a unicast response to publish.

Arguments

  • payload – any serializable value.
  • properties – properties of the outgoing response.
  • to – destination AgentId.
  • version – destination agent's API version.

Example

let short_term_timing = OutgoingShortTermTimingProperties::until_now(start_timestamp);
let props = request.properties().to_response(ResponseStatus::OK, short_term_timing)
let to = AgentId::new("instance01", AccountId::new("service_name", "svc.example.org"));
let message = OutgoingResponse::unicast(json!({ "foo": "bar" }), props, to, "v1");

impl<T, P> OutgoingMessageContent<T, P> where
    T: Serialize
[src]

pub fn properties(&self) -> &P[src]

Trait Implementations

impl<T: Debug, P: Debug> Debug for OutgoingMessageContent<T, P> where
    T: Serialize
[src]

Auto Trait Implementations

impl<T, P> RefUnwindSafe for OutgoingMessageContent<T, P> where
    P: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, P> Send for OutgoingMessageContent<T, P> where
    P: Send,
    T: Send

impl<T, P> Sync for OutgoingMessageContent<T, P> where
    P: Sync,
    T: Sync

impl<T, P> Unpin for OutgoingMessageContent<T, P> where
    P: Unpin,
    T: Unpin

impl<T, P> UnwindSafe for OutgoingMessageContent<T, P> where
    P: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,