MCPcopy
hub / github.com/nats-io/nats.go / ExampleMsg_Metadata

Function ExampleMsg_Metadata

example_test.go:665–687  ·  view source on GitHub ↗

When a message has been delivered by JetStream, it will be possible to access some of its metadata such as sequence numbers.

()

Source from the content-addressed store, hash-verified

663// When a message has been delivered by JetStream, it will be possible
664// to access some of its metadata such as sequence numbers.
665func ExampleMsg_Metadata() {
666 nc, _ := nats.Connect("localhost")
667 js, _ := nc.JetStream()
668
669 // Set custom timeout for a JetStream API request.
670 js.AddStream(&nats.StreamConfig{
671 Name: "FOO",
672 Subjects: []string{"foo"},
673 })
674
675 js.Publish("foo", []byte("hello"))
676
677 sub, _ := js.SubscribeSync("foo")
678 msg, _ := sub.NextMsg(2 * time.Second)
679
680 //
681 meta, _ := msg.Metadata()
682
683 // Stream and Consumer sequences.
684 fmt.Printf("Stream seq: %s:%d, Consumer seq: %s:%d\n", meta.Stream, meta.Sequence.Stream, meta.Consumer, meta.Sequence.Consumer)
685 fmt.Printf("Pending: %d\n", meta.NumPending)
686 fmt.Printf("Pending: %d\n", meta.NumDelivered)
687}
688
689// AckOpt are the options that can be passed when acknowledge a message.
690func ExampleAckOpt() {

Callers

nothing calls this directly

Calls 7

ConnectMethod · 0.80
JetStreamMethod · 0.80
NextMsgMethod · 0.80
AddStreamMethod · 0.65
PublishMethod · 0.65
SubscribeSyncMethod · 0.65
MetadataMethod · 0.65

Tested by

no test coverage detected