OutgoingMessageContent

Struct OutgoingMessageContent 

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

Implementations§

Source§

impl<T> OutgoingMessageContent<T, OutgoingEventProperties>
where T: Serialize,

Source

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

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",
);
Source

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

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"),
);
Source

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

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",
);
Source§

impl<T> OutgoingMessageContent<T, OutgoingRequestProperties>
where T: Serialize,

Source

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

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);
Source

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

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");
Source§

impl<T> OutgoingMessageContent<T, OutgoingResponseProperties>
where T: Serialize,

Source

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

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");
Source§

impl<T, P> OutgoingMessageContent<T, P>
where T: Serialize,

Source

pub fn properties(&self) -> &P

Trait Implementations§

Source§

impl<T, P: Debug> Debug for OutgoingMessageContent<T, P>
where T: Serialize + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

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

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.