FifteenthStandard.Messaging 1.0.0

dotnet add package FifteenthStandard.Messaging --version 1.0.0
                    
NuGet\Install-Package FifteenthStandard.Messaging -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FifteenthStandard.Messaging" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FifteenthStandard.Messaging" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="FifteenthStandard.Messaging" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FifteenthStandard.Messaging --version 1.0.0
                    
#r "nuget: FifteenthStandard.Messaging, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FifteenthStandard.Messaging@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FifteenthStandard.Messaging&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=FifteenthStandard.Messaging&version=1.0.0
                    
Install as a Cake Tool

FifteenthStandard.Messaging

A library with several implementations of a generic queue client.

IQueue<T>

A generic first-in-first-out queue.


SendAsync

Send a message to the queue.

Parameters
Parameter Description
T message The message to send to the queue.
Returns Task

A task which resolves once the message has been sent.


SendBatchAsync

Send a batch of messages to the queue.

Parameters
Parameter Description
IEnumerable<T> messages The messages to send to the queue.
Returns Task<IEnumerable<T>>

A task which resolves to an enumerable of messages which failed to send.


ReceiveAsync

Receive a message from the queue. When a message is received, it is temporarily hidden from other consumers so that it can be processed by the receiver. The receiver must then remove the message from the queue when processing is finished, otherwise the message will be automatically returned to the queue.

Parameters
Parameter Description
int visibilityTimoutSeconds The time (in seconds) to hide messages while processing
int waitTimeoutSeconds The time (in seconds) to wait for a message
Returns Task<(string Id, T Message)>

A task which resolves to a pair containing an ID and a message. The ID can be used to remove the message from the queue when processing is completed.


ReceiveBatchAsync

Receive a batch of messages from the queue. If not enough messages are available immediately, some implementations may immediately return with what is available--they will not necessarily wait for the batch to fill up.

Parameters
Parameter Description
int count The maximum number of messages to receive
int visibilityTimoutSeconds The time (in seconds) to hide messages while processing
int waitTimeoutSeconds The time (in seconds) to wait for a message
Returns Task<IEnumerable<(string Id, T Message)>>

A task which resolves to an enumerable of pairs containing an ID and a message. The IDs can be used to remove messages from the queue when processing is completed.


RemoveAsync

Remove a message from the queue, when processing is complete. If messages are not removed, they will eventually be returned to the queue for other consumers to receive.

Parameters
Parameter Description
string id The ID of the message to remove
Returns Task

A task which resolves once the message has been removed.


RemoveBatchAsync

Remove a batch of messages from the queue, when processing is complete. If messages are not removed, they will eventually be returned to the queue for other consumers to receive.

Parameters
Parameter Description
IEnumerable<string> ids The IDs of the messages to remove
Returns Task<IEnumerable<string>>

A task which resolves to an enumerable of IDs of messages which failed to be removed.


Implementations

InMemoryQueue<T>

A fully in-memory queue. Contents are wiped when the application exits. Only suitable for testing.

FileQueue<T>

Messages are persisted to the local file system. Suitable for local application development.

AwsQueue<T>

Messages are persisted to Amazon SQS. Suitable for production applications deployed to AWS.

AzureQueue<T>

Messages are persisted to Azure Queue Storage. Suitable for production applications deployed to Azure.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 316 1/19/2023