pub struct InMemoryProvider { /* private fields */ }Expand description
In-memory queue provider implementation
Implementations§
Source§impl InMemoryProvider
impl InMemoryProvider
Sourcepub fn new(config: InMemoryConfig) -> Self
pub fn new(config: InMemoryConfig) -> Self
Create new in-memory provider with configuration
Sourcepub async fn accept_session(
&self,
queue: &QueueName,
session_id: Option<SessionId>,
) -> Result<Box<dyn SessionClient>, QueueError>
pub async fn accept_session( &self, queue: &QueueName, session_id: Option<SessionId>, ) -> Result<Box<dyn SessionClient>, QueueError>
Helper method to accept a session and return a SessionClient.
This is a convenience method for testing that wraps create_session_client. In production code, use QueueClient::accept_session() instead.
Trait Implementations§
Source§impl Default for InMemoryProvider
impl Default for InMemoryProvider
Source§impl QueueProvider for InMemoryProvider
impl QueueProvider for InMemoryProvider
Source§fn send_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
message: &'life2 Message,
) -> Pin<Box<dyn Future<Output = Result<MessageId, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
message: &'life2 Message,
) -> Pin<Box<dyn Future<Output = Result<MessageId, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Send single message
Source§fn send_messages<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
messages: &'life2 [Message],
) -> Pin<Box<dyn Future<Output = Result<Vec<MessageId>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send_messages<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
messages: &'life2 [Message],
) -> Pin<Box<dyn Future<Output = Result<Vec<MessageId>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Send multiple messages
Source§fn receive_message<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<Option<ReceivedMessage>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn receive_message<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<Option<ReceivedMessage>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Receive single message
Source§fn receive_messages<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
max_messages: u32,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<Vec<ReceivedMessage>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn receive_messages<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
max_messages: u32,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<Vec<ReceivedMessage>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Receive multiple messages
Source§fn complete_message<'life0, 'life1, 'async_trait>(
&'life0 self,
receipt: &'life1 ReceiptHandle,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete_message<'life0, 'life1, 'async_trait>(
&'life0 self,
receipt: &'life1 ReceiptHandle,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Complete message processing
Source§fn abandon_message<'life0, 'life1, 'async_trait>(
&'life0 self,
receipt: &'life1 ReceiptHandle,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn abandon_message<'life0, 'life1, 'async_trait>(
&'life0 self,
receipt: &'life1 ReceiptHandle,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Abandon message for retry
Source§fn dead_letter_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_receipt: &'life1 ReceiptHandle,
_reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn dead_letter_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_receipt: &'life1 ReceiptHandle,
_reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Send to dead letter queue
Source§fn create_session_client<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
session_id: Option<SessionId>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn SessionProvider>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_session_client<'life0, 'life1, 'async_trait>(
&'life0 self,
queue: &'life1 QueueName,
session_id: Option<SessionId>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn SessionProvider>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create session client
Source§fn provider_type(&self) -> ProviderType
fn provider_type(&self) -> ProviderType
Get provider type
Source§fn supports_sessions(&self) -> SessionSupport
fn supports_sessions(&self) -> SessionSupport
Get session support level
Source§fn supports_batching(&self) -> bool
fn supports_batching(&self) -> bool
Check batch operation support
Source§fn max_batch_size(&self) -> u32
fn max_batch_size(&self) -> u32
Get maximum batch size
Auto Trait Implementations§
impl Freeze for InMemoryProvider
impl RefUnwindSafe for InMemoryProvider
impl Send for InMemoryProvider
impl Sync for InMemoryProvider
impl Unpin for InMemoryProvider
impl UnsafeUnpin for InMemoryProvider
impl UnwindSafe for InMemoryProvider
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