pub struct SqsQueue { /* private fields */ }Expand description
A subscription descriptor for one SQS queue.
Accepts a queue URL or a queue name (resolved through GetQueueUrl on subscribe).
Implements SubscriptionSource, so it can sit inline in the #[subscriber(..)]
decorator:
use std::time::Duration;
use ruststream_sqs_sns::SqsQueue;
let source = SqsQueue::new("orders")
.wait(Duration::from_secs(20))
.batch(10)
.visibility(Duration::from_secs(30));Implementations§
Source§impl SqsQueue
impl SqsQueue
Sourcepub fn new(queue: impl Into<String>) -> Self
pub fn new(queue: impl Into<String>) -> Self
Names the queue by URL (https://sqs...) or by name.
Sourcepub fn wait(self, wait: Duration) -> Self
pub fn wait(self, wait: Duration) -> Self
Long-polling wait per receive call. Defaults to the protocol maximum of 20 seconds; values above it are rejected before any I/O.
Sourcepub fn batch(self, batch: i32) -> Self
pub fn batch(self, batch: i32) -> Self
Messages per receive call (1..=10, the protocol cap). Defaults to 10.
Sourcepub fn visibility(self, visibility: Duration) -> Self
pub fn visibility(self, visibility: Duration) -> Self
The visibility timeout requested per receive; the crate extends it in the background while a handler holds the message. Defaults to the queue’s configured timeout.
Sourcepub fn create_if_missing(self) -> Self
pub fn create_if_missing(self) -> Self
Creates the queue on subscribe when it does not exist yet (a name ending in .fifo
creates a FIFO queue with content-based deduplication). Meant for local development and
tests; production queues are usually managed as infrastructure.
Trait Implementations§
impl Eq for SqsQueue
impl StructuralPartialEq for SqsQueue
Source§impl SubscriptionSource<ConnectedSqsBroker> for SqsQueue
impl SubscriptionSource<ConnectedSqsBroker> for SqsQueue
Source§type Subscriber = SqsSubscriber
type Subscriber = SqsSubscriber
Source§async fn subscribe(
self,
connected: &ConnectedSqsBroker,
) -> Result<SqsSubscriber, SqsError>
async fn subscribe( self, connected: &ConnectedSqsBroker, ) -> Result<SqsSubscriber, SqsError>
Auto Trait Implementations§
impl Freeze for SqsQueue
impl RefUnwindSafe for SqsQueue
impl Send for SqsQueue
impl Sync for SqsQueue
impl Unpin for SqsQueue
impl UnsafeUnpin for SqsQueue
impl UnwindSafe for SqsQueue
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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>
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