Skip to main content

ConnectedZmqRpc

Struct ConnectedZmqRpc 

Source
pub struct ConnectedZmqRpc { /* private fields */ }
Expand description

The connected form of ZmqRpc.

Implementations§

Source§

impl ConnectedZmqRpc

Source

pub fn bound_address(&self) -> Option<String>

The address the responder resolved by binding (useful with an ephemeral tcp://...:0 endpoint); None until a subscription has bound.

Source

pub fn publisher(&self) -> ZmqRpcPublisher

A publisher from the connected form.

Trait Implementations§

Source§

impl ConnectedBroker for ConnectedZmqRpc

Source§

type Error = ZmqError

The error type returned by connected-broker operations.
Source§

type Closed = ()

The terminal witness returned by shutdown. Read more
Source§

fn shutdown(self) -> impl Future<Output = Result<(), Self::Error>>

Closes the broker connection, flushing in-flight publishes and stopping background tasks, consuming the connected form. Read more
Source§

impl Debug for ConnectedZmqRpc

Source§

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

Formats the value using the given formatter. Read more
Source§

impl DefaultPublish for ConnectedZmqRpc

Source§

type Policy = ZmqRpcPublish

The broker’s plain publish policy, constructible with its defaults.
Source§

impl PublishPolicy<ConnectedZmqRpc> for ZmqRpcPublish

Source§

fn channel_bindings(&self, channel: &str) -> Bindings

The destination reaches the binding and stays out of it: a reply travels to the identity the ROUTER supplies, so no name on this channel is an address a peer can send to.

Source§

type Live = ZmqRpcPublisher

The live form this policy pairs into: a Publisher for a leaf policy, or the live wiring form for a combinator stack (a typed publisher over a policy pairs into the same typed publisher over the live leaf).
Source§

fn pair( self, connected: &ConnectedZmqRpc, ) -> impl Future<Output = Result<Self::Live, PairError>>

Pairs the policy with a connected broker, producing the live publisher. Read more
Source§

fn reply_address_location(&self) -> Option<&'static str>

Where a client finds the address of a reply this policy publishes, as a runtime expression. Read more
Source§

fn operation_bindings(&self, channel: &str) -> Bindings

What a publish through this policy adds to its send operation in the document. Read more
Source§

fn message_bindings(&self, channel: &str) -> Bindings

What a publish through this policy adds to the messages that leave through it. Read more
Source§

impl Subscribe for ConnectedZmqRpc

Source§

type Copies = NamedCopies

A copy of a request has no address of its own, so the mount site names where one goes.

The name a responder subscribes under is not a publish destination on this pattern: ZmqRpcPublisher routes to the peer identity a request carried and refuses a plain name, so a copy published under the subscription name would reach nothing. A registration that binds .out_retry(..) over a responder therefore has to say where the copies go, with .to("name") or with a transform that names one per delivery, and one that says neither is refused before the subscription opens. Ask a requester again rather than retrying its request from the responder side.

Source§

type Subscriber = ZmqRpcSubscriber

The subscriber type opened by a by-name subscription.
Source§

async fn subscribe(&self, name: &str) -> Result<Self::Subscriber, Self::Error>

Opens a subscription to name, producing this broker’s Subscriber. Read more
Source§

fn declare_retry( &self, name: &str, declaration: &RetryDeclaration, ) -> Result<(), DeclareRetryError>

Takes what a registration mounted by a bare name declared about its retries, before the subscription opens. Read more
Source§

impl TestableBroker for ConnectedZmqRpc

The exchange’s routing: a request reaches the responder that binds the endpoint, or one of the responders that dial it in turn, stamped with the peer that asked; an answer reaches that peer and no subscription.

Source§

fn install_coordinator(&self, coordinator: Coordinator)

Installs the harness coordinator into this broker’s bus for a test run. Idempotent: a second install on the same broker is ignored.
Source§

fn inject(&self, message: OutgoingMessage<'_>)

Injects a message onto the bus as an external producer would, synchronously (no awaiting). Routes through the broker’s normal fanout, so it is recorded and counted like any publish. Read more
Source§

fn published(&self, name: &str) -> Vec<RawMessage>

Returns every message published to name on this broker, in publish order, after the evicted ones. Backs the harness’s published::<T>(name) assertions and expect_published.
Source§

fn routes(&self, destination: &str, subscriptions: &[&str]) -> Vec<usize>

Which subscriptions of this broker a message published to destination is delivered to, as the broker’s own routing picks them: the positions in subscriptions (the names the app subscribed under on this broker) of the ones it delivers to. Read more
Source§

fn evicted(&self, name: &str) -> usize

How many of the oldest messages published to name this broker no longer holds, so published starts after them. Read more
Source§

fn backlog(&self) -> Backlog

What a subscription opened by name receives of the messages published to that name before it opened, as the real broker answers it: Backlog::Missed for publish/subscribe, Backlog::Delivered for a queue or a log that keeps them. Read more

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PublishedThrough<DefaultSlot> for T

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more