pub struct DMSCRabbitMQQueue { /* private fields */ }Expand description
RabbitMQ queue implementation for the DMSC queue system.
This struct provides a RabbitMQ implementation of the DMSCQueue trait, allowing sending and receiving messages using RabbitMQ as the underlying message broker.
Implementations§
Source§impl DMSCRabbitMQQueue
impl DMSCRabbitMQQueue
Sourcepub async fn new(name: &str, connection_string: &str) -> DMSCResult<Self>
pub async fn new(name: &str, connection_string: &str) -> DMSCResult<Self>
Sourcepub async fn new_with_connection(
name: &str,
connection: Connection,
) -> DMSCResult<Self>
pub async fn new_with_connection( name: &str, connection: Connection, ) -> DMSCResult<Self>
Sourcepub async fn new_with_management(
name: &str,
connection: Connection,
management_url: &str,
management_username: &str,
management_password: &str,
) -> DMSCResult<Self>
pub async fn new_with_management( name: &str, connection: Connection, management_url: &str, management_username: &str, management_password: &str, ) -> DMSCResult<Self>
Creates a new RabbitMQ queue instance with management API support.
§Parameters
name: The name of the queueconnection: The existing RabbitMQ connectionmanagement_url: RabbitMQ management API URL (e.g., “http://localhost:15672”)management_username: Management API usernamemanagement_password: Management API password
§Returns
A new DMSCRabbitMQQueue instance wrapped in DMSCResult
Trait Implementations§
Source§impl DMSCQueue for DMSCRabbitMQQueue
impl DMSCQueue for DMSCRabbitMQQueue
Source§fn create_producer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DMSCResult<Box<dyn DMSCQueueProducer>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_producer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DMSCResult<Box<dyn DMSCQueueProducer>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Creates a new producer for the RabbitMQ queue.
§Returns
A new DMSCQueueProducer instance wrapped in DMSCResult
Source§fn create_consumer<'life0, 'life1, 'async_trait>(
&'life0 self,
consumer_group: &'life1 str,
) -> Pin<Box<dyn Future<Output = DMSCResult<Box<dyn DMSCQueueConsumer>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_consumer<'life0, 'life1, 'async_trait>(
&'life0 self,
consumer_group: &'life1 str,
) -> Pin<Box<dyn Future<Output = DMSCResult<Box<dyn DMSCQueueConsumer>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_stats<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DMSCResult<DMSCQueueStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_stats<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DMSCResult<DMSCQueueStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets statistics for the RabbitMQ queue.
This implementation integrates with RabbitMQ management API to provide detailed queue statistics including message counts, consumer counts, and processing metrics.
§Returns
DMSCQueueStats containing detailed queue statistics wrapped in DMSCResult
Auto Trait Implementations§
impl Freeze for DMSCRabbitMQQueue
impl !RefUnwindSafe for DMSCRabbitMQQueue
impl Send for DMSCRabbitMQQueue
impl Sync for DMSCRabbitMQQueue
impl Unpin for DMSCRabbitMQQueue
impl !UnwindSafe for DMSCRabbitMQQueue
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request