nats.net.v2
nats.net.v2 copied to clipboard
Add JetStream NATS Client Extensions
This PR introduces an interface-based Core API dependency for the JetStream API.
As a result of this change, several internal APIs will need to be made public. This will enable application developers to extend some of the lower-level features. This aligns with our overall mission to establish INatsClient
as the default API level, providing the opportunity to introduce lower-level functions from our library through INatsConnection
.
-
INatsConnection
: Opened functions mostly useful for creating custom subscribers which are used in JetStream consumer implementation. -
NatsSubBase
: Reviewed and documented subscription base class to be inherited for custom subscriptions. -
INatsSubscriptionManager
: Exposed the subscription manager as an interface, only having the single function opened used in current implementations. This could be opened up more as we see opportunities or demand. -
JetStream
NatsClientExtensions
: Convenience extension to create JetStream context.