EightyDecibel.AsyncNats 0.6.4

A Nats.IO client specifically written with new C# features in mind. Internally it uses the new System.IO.Pipelines and System.Threading.Channels libraries that were released last year. It also uses the new IAsyncEnumerable as a way to listen to messages published to subjects.

The end result is very fast Nats.io client that, in our opinion, fits the C# 8.0 language features better than the currently existing libraries.

There is a newer version of this package available.
See the version list below for details.
Install-Package EightyDecibel.AsyncNats -Version 0.6.4
dotnet add package EightyDecibel.AsyncNats --version 0.6.4
<PackageReference Include="EightyDecibel.AsyncNats" Version="0.6.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EightyDecibel.AsyncNats --version 0.6.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release history

v0.6.4

  • Added optional TaskScheduler parameter to StartContractServer to make the "Server" run task concurrently
  • Added CancellationToken to all Async methods

v0.6.3

  • Added fire and forget methods (add NatsFireAndForget attribute to the methods), the caller doesn't wait for an answer. Note, exceptions thrown inside fire and forget methods will be lost!
  • An exception will be thrown when ValueTask is used as a contract type

v0.6.2

  • Updated InterfaceAsyncNatsSample to use a custom serializer (MessagePack)
  • Fixed an issue when MessagePack was used as serializer (and possible others)
  • Added DataContract / DataMember attributes to request/response classes used by the RPC functionality to aid MessagePack (and possible others)

v0.6.1

  • Forgot to add StartContractServer to the interface
  • Dispose the contract server channel once done (due to cancellation or exception)

v0.6

  • Added RPC functionality using interface contracts (see InterfaceAsyncNatsSample)

v0.5.2

  • Increased pauseWriterThreshold on receiver pipe to 1Mb to correctly handle large messages

v0.5.1

  • Added events and status to INatsConnection interface

v0.5

  • Added (simple) Request-Reply pattern
  • Added Status property to get current connection status
  • Added ConnectionException event
  • Added StatusChange event
  • Added ConnectionInformation event

v0.4

  • Resolved a Dispose exception
  • Added SubscribeObject method

v0.3

  • Added PublishText / SubscribeText methods

v0.2

  • Added some missing fields to connect

v0.1

  • Initial release

Release history

v0.6.4

  • Added optional TaskScheduler parameter to StartContractServer to make the "Server" run task concurrently
  • Added CancellationToken to all Async methods

v0.6.3

  • Added fire and forget methods (add NatsFireAndForget attribute to the methods), the caller doesn't wait for an answer. Note, exceptions thrown inside fire and forget methods will be lost!
  • An exception will be thrown when ValueTask is used as a contract type

v0.6.2

  • Updated InterfaceAsyncNatsSample to use a custom serializer (MessagePack)
  • Fixed an issue when MessagePack was used as serializer (and possible others)
  • Added DataContract / DataMember attributes to request/response classes used by the RPC functionality to aid MessagePack (and possible others)

v0.6.1

  • Forgot to add StartContractServer to the interface
  • Dispose the contract server channel once done (due to cancellation or exception)

v0.6

  • Added RPC functionality using interface contracts (see InterfaceAsyncNatsSample)

v0.5.2

  • Increased pauseWriterThreshold on receiver pipe to 1Mb to correctly handle large messages

v0.5.1

  • Added events and status to INatsConnection interface

v0.5

  • Added (simple) Request-Reply pattern
  • Added Status property to get current connection status
  • Added ConnectionException event
  • Added StatusChange event
  • Added ConnectionInformation event

v0.4

  • Resolved a Dispose exception
  • Added SubscribeObject method

v0.3

  • Added PublishText / SubscribeText methods

v0.2

  • Added some missing fields to connect

v0.1

  • Initial release

GitHub repositories (0)

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.6.5 24 6/30/2020
0.6.4 96 2/24/2020
0.6.3 73 2/5/2020
0.6.2 89 2/5/2020
0.6.0 74 1/31/2020
0.5.1 87 11/10/2019
0.5.0 90 11/8/2019
0.4.0 92 10/20/2019
0.3.0 93 10/17/2019
0.2.0 88 10/16/2019
0.1.0 91 10/16/2019