pub struct RpcChannel { /* private fields */ }Expand description
A channel for publishing messages on direct queues, allowing for receiving replies using RpcBus. It also supports publishing an initial message on a direct queue, and setting up a back-and-forth communincation channel using RpcCommBus.
Implementations§
Source§impl RpcChannel
impl RpcChannel
Sourcepub async fn comm_consumer<B: RpcCommBus>(
&self,
args: B::Args,
consumer_tag: &str,
) -> Result<Consumer<B>>
pub async fn comm_consumer<B: RpcCommBus>( &self, args: B::Args, consumer_tag: &str, ) -> Result<Consumer<B>>
Create a new Consumer for the RpcCommBus that declares a direct queue with the name produced by RpcCommBus::queue given the passed RpcCommBus::Args
Sourcepub fn comm_publisher<B: RpcCommBus>(&self) -> Publisher<B>
pub fn comm_publisher<B: RpcCommBus>(&self) -> Publisher<B>
Setup a new Publisher associated wit the RpcCommBus.
Source§impl RpcChannel
impl RpcChannel
Sourcepub async fn new(connection: &Connection) -> Result<RpcChannel>
pub async fn new(connection: &Connection) -> Result<RpcChannel>
Create a new RpcChannel, and start listening for replies that are associated with the messages sent by a Publisher associated with this RpcChannel. Any incoming replies are forwarded to the Futures that correspond the the message correlation Uuid.
Trait Implementations§
Source§impl Channel for RpcChannel
impl Channel for RpcChannel
Source§fn publish_with_properties<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
payload_bytes: &'life1 [u8],
routing_key: &'life2 str,
properties: BasicProperties,
correlation_uuid: Uuid,
reply_uuid: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn publish_with_properties<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
payload_bytes: &'life1 [u8],
routing_key: &'life2 str,
properties: BasicProperties,
correlation_uuid: Uuid,
reply_uuid: Option<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Publish a message onto a queue
Source§impl Clone for RpcChannel
impl Clone for RpcChannel
Source§fn clone(&self) -> RpcChannel
fn clone(&self) -> RpcChannel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for RpcChannel
impl !RefUnwindSafe for RpcChannel
impl Send for RpcChannel
impl Sync for RpcChannel
impl Unpin for RpcChannel
impl !UnwindSafe for RpcChannel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more