sdk-go
sdk-go copied to clipboard
Support new JetStream API
There's a new (well, 12 months old) SDK for interacting with JetStream, package github.com/nats-io/nats.go/jetstream
. It makes things a bit easier for interacting with JetStream so we want to use it in https://github.com/knative-extensions/eventing-natss but there's a different implementation for the underlying message, jetstream.Msg
instead of *nats.Msg
.
It would be worth adding support to this SDK, but since our github.com/cloudevents/sdk-go/protocol/nats_jetstream/v2.Message
implementation exports both the Message
struct and the Msg
field, it would technically be a breaking change:
https://github.com/cloudevents/sdk-go/blob/6408c0101c4ea93de70e28cd4624cb8c40f79027/protocol/nats_jetstream/v2/message.go#L29-L34
This new SDK also requires nats-server >= 2.9.0.
What are people's opinion on this? If interested, should we just add a new package supporting both and deprecate the old one in future? Any ideas on what this package should be?