nats.net.v2 icon indicating copy to clipboard operation
nats.net.v2 copied to clipboard

Add JetStream NATS Client Extensions

Open mtmk opened this issue 6 months ago • 0 comments

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.

mtmk avatar Aug 06 '24 12:08 mtmk