pub struct DMSCRedisQueue { /* private fields */ }Expand description
Redis queue implementation for the DMSC queue system.
This struct provides a Redis implementation of the DMSCQueue trait, allowing sending and receiving messages using Redis lists as the underlying message broker.
Implementations§
Source§impl DMSCRedisQueue
impl DMSCRedisQueue
Sourcepub async fn new(name: &str, connection_string: &str) -> DMSCResult<Self>
pub async fn new(name: &str, connection_string: &str) -> DMSCResult<Self>
Sourcepub fn new_with_client(name: &str, client: Client) -> DMSCResult<Self>
pub fn new_with_client(name: &str, client: Client) -> DMSCResult<Self>
Sourcepub async fn new_with_connection(
name: &str,
connection_string: &str,
) -> DMSCResult<Self>
pub async fn new_with_connection( name: &str, connection_string: &str, ) -> DMSCResult<Self>
Trait Implementations§
Source§impl DMSCQueue for DMSCRedisQueue
impl DMSCQueue for DMSCRedisQueue
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 Redis 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 Redis queue.
§Returns
DMSCQueueStats containing 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,
fn purge<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DMSCResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn delete<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DMSCResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
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 Redis queue.
Note: This implementation simply calls purge since deleting a Redis key is the same as purging all messages from the queue.
§Returns
DMSCResult indicating success or failure
Auto Trait Implementations§
impl Freeze for DMSCRedisQueue
impl RefUnwindSafe for DMSCRedisQueue
impl Send for DMSCRedisQueue
impl Sync for DMSCRedisQueue
impl Unpin for DMSCRedisQueue
impl UnwindSafe for DMSCRedisQueue
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