DMSCRabbitMQQueue

Struct DMSCRabbitMQQueue 

Source
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

Source

pub async fn new(name: &str, connection_string: &str) -> DMSCResult<Self>

Creates a new RabbitMQ queue instance.

§Parameters
  • name: The name of the queue
  • connection_string: The RabbitMQ connection string
§Returns

A new DMSCRabbitMQQueue instance wrapped in DMSCResult

Source

pub async fn new_with_connection( name: &str, connection: Connection, ) -> DMSCResult<Self>

Creates a new RabbitMQ queue instance with an existing connection.

§Parameters
  • name: The name of the queue
  • connection: The existing RabbitMQ connection
§Returns

A new DMSCRabbitMQQueue instance wrapped in DMSCResult

Source

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 queue
  • connection: The existing RabbitMQ connection
  • management_url: RabbitMQ management API URL (e.g., “http://localhost:15672”)
  • management_username: Management API username
  • management_password: Management API password
§Returns

A new DMSCRabbitMQQueue instance wrapped in DMSCResult

Trait Implementations§

Source§

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,

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,

Creates a new consumer for the RabbitMQ queue.

§Parameters
  • consumer_group: The consumer group name
§Returns

A new DMSCQueueConsumer instance wrapped in DMSCResult

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,

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

Source§

fn purge<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = DMSCResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Purges all messages from the RabbitMQ queue.

§Returns

DMSCResult indicating success or failure Purges all messages from the RabbitMQ queue.

§Returns

DMSCResult indicating success or failure

Source§

fn delete<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = DMSCResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Deletes the RabbitMQ queue.

§Returns

DMSCResult indicating success or failure

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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.

§

impl<T> Instrument for T

§

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

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

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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> Ungil for T
where T: Send,