sdk-go icon indicating copy to clipboard operation
sdk-go copied to clipboard

Support new JetStream API

Open dan-j opened this issue 10 months ago • 0 comments

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?

dan-j avatar Apr 18 '24 10:04 dan-j