[][src]Struct svc_agent::mqtt::IncomingRequestProperties

pub struct IncomingRequestProperties { /* fields omitted */ }

Properties of an incoming request.

Methods

impl IncomingRequestProperties[src]

pub fn method(&self) -> &str[src]

pub fn correlation_data(&self) -> &str[src]

pub fn response_topic(&self) -> &str[src]

pub fn broker_agent_id(&self) -> &AgentId[src]

pub fn long_term_timing(&self) -> &LongTermTimingProperties[src]

pub fn short_term_timing(&self) -> &IncomingShortTermTimingProperties[src]

pub fn tracking(&self) -> &TrackingProperties[src]

pub fn to_connection(&self) -> Connection[src]

pub fn to_event(
    &self,
    label: &'static str,
    short_term_timing: OutgoingShortTermTimingProperties
) -> OutgoingEventProperties
[src]

Builds OutgoingEventProperties based on the IncomingRequestProperties.

Use it to publish an event when something worth notifying subscribers happens during the request processing.

Arguments

  • label – outgoing event label.
  • short_term_timing – outgoing event's short term timing properties.

Example

let short_term_timing = OutgoingShortTermTimingProperties::until_now(start_timestamp);
let out_props = in_props.to_event("agent.enter", short_term_timing);

pub fn to_request(
    &self,
    method: &str,
    response_topic: &str,
    correlation_data: &str,
    short_term_timing: OutgoingShortTermTimingProperties
) -> OutgoingRequestProperties
[src]

Builds OutgoingRequestProperties based on the IncomingRequestProperties.

Use it to send a request to another service while handling a request.

Arguments

  • method – request method.
  • response_topic – topic for response.
  • correlation_data – any string to correlate request with response.
  • short_term_timing – outgoing request's short term timing properties.

Example

let out_props = in_props.to_request(
    "room.enter",
    &Subscription::unicast_responses(),
    OutgoingShortTermTimingProperties::until_now(start_timestamp),
);

pub fn to_response(
    &self,
    status: ResponseStatus,
    short_term_timing: OutgoingShortTermTimingProperties
) -> OutgoingResponseProperties
[src]

Builds OutgoingResponseProperties based on the IncomingRequestProperties.

Use it to response on a request.

Arguments

  • status – response status.
  • short_term_timing – outgoing response's short term timings properties.

Example

let short_term_timing = OutgoingShortTermTimingProperties::until_now(start_timestamp);
let out_props = in_props.to_response(ResponseStatus::OK, short_term_timing);

Trait Implementations

impl Addressable for IncomingRequestProperties[src]

impl Authenticable for IncomingRequestProperties[src]

impl Clone for IncomingRequestProperties[src]

impl Debug for IncomingRequestProperties[src]

impl<'de> Deserialize<'de> for IncomingRequestProperties[src]

impl Serialize for IncomingRequestProperties[src]

Auto Trait Implementations

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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,