Expand description
Amazon SQS broker implementation for RustStream, with SNS fan-out publishing.
Handlers, routers, codecs, and middleware come from the framework; this crate supplies the
transport over the official aws-sdk-sqs and
aws-sdk-sns clients.
- Deleting a message is the acknowledgement, zeroing its visibility is the requeue, and a retry with a delay sets the visibility timeout to that delay - the framework’s deferred retry is native, not emulated.
- A handler outliving the visibility timeout is protected by crate-owned background extension for as long as it holds the message.
- The queue’s redrive policy provides dead-lettering; FIFO message group ids map onto the partition key.
- SNS appears only as a publisher (fan-out to queues and other endpoints), as a distinct
SnsPublishpolicy.
Structs§
- Connected
SqsBroker - The typed witness that
connectsucceeded: holds the live SDK clients directly. - SnsPublish
- The publish policy for
SnsPublisher: names the SNS fan-out mode as a distinct policy type, so direct queue publishing and topic fan-out never mix silently. - SnsPublisher
- Publishes notifications to SNS topics for fan-out (the destination is a topic name or
ARN; names resolve through the idempotent
CreateTopic). - SqsBroker
- An Amazon SQS broker (with SNS fan-out publishing) for the
RustStreammessaging framework. - SqsMessage
- A message delivered by an
SqsSubscriber. - SqsPublish
- The publish policy for
SqsPublisher: pure declaration, constructible anywhere, paired with the connected broker by the runtime afterconnect. - SqsPublisher
- Publishes messages directly to SQS queues (name or URL as the destination).
- SqsQueue
- A subscription descriptor for one SQS queue.
- SqsSubscriber
- A subscription to one SQS queue; yields
SqsMessages.
Enums§
- SqsError
- Errors returned by the Amazon SQS/SNS broker.
Constants§
- PARTITION_
KEY_ HEADER - Header carrying the partition key, mapped onto the FIFO message group id.
- RECEIVE_
COUNT_ HEADER - Header exposing the approximate receive count on received messages.