NATS .NET Version 2.0 #741
Replies: 5 comments 10 replies
-
For Apps I prefer using the last cutting edge, like .NET 7.0, but for libraries, I think is preferable to go for LTS .NET 6.0, which still have 10 month to be challenged by .NET 8.0, or even .net standard 2.1, so that we could use it in .NET Framework 4.x. We may focus on the LTS version, and later, any developer/team than need the library to work on non-core frameworks could work on making the necessary configurations to be able to build there. Also, I think the client design should reach for being minimal in the sense of not providing functionality beyond what NATS APIs already offer, other than socket re-connection and such. At least on the core library. Then we could extend and develop richer interfaces over the core API to add any fancy functionality or usage patterns. |
Beta Was this translation helpful? Give feedback.
-
I believe .NET 6 is the better choice. If we wanted to multitarget, then having the necessary ifdefs to support .NET Standard 2.0 + System.Memory ref would be nice. Though I think that should be a secondary concern. |
Beta Was this translation helpful? Give feedback.
-
Should we offer both a thread-safe and a non-thread-safe versions of the core APIs? Given that thread safety is not a zero-cost abstraction in dotnet and given that NATS is used for high throughput communication, we should offer a clear access to a lock-free implementation. Then also add a default thread-safe implementation, as performant as we can, but leaving the users access to the core implementation in case they need to configure thread-safety in a different way. |
Beta Was this translation helpful? Give feedback.
-
When are we starting this Project. I am working on a project with Alternats and unfortunately it does not support Jetstream. I am thinking either to contribute there or look for the new version to come out. |
Beta Was this translation helpful? Give feedback.
-
The nats-io/nats.net.v2 repo is live. At this point it is mostly a fork of Cysharp/AlterNats which can be used as a base for the client. Let's move discussion over to the new repo! |
Beta Was this translation helpful? Give feedback.
-
Please add your ideas, feature requests, and other thoughts on a NATS.NET version 2.0.
Some initial thoughts:
Comments and suggestions are welcome!
Beta Was this translation helpful? Give feedback.
All reactions