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

Method KeyValueStoreNames

jetstream/kv.go:746–774  ·  view source on GitHub ↗

KeyValueStoreNames is used to retrieve a list of key value store names

(ctx context.Context)

Source from the content-addressed store, hash-verified

744
745// KeyValueStoreNames is used to retrieve a list of key value store names
746func (js *jetStream) KeyValueStoreNames(ctx context.Context) KeyValueNamesLister {
747 res := &kvLister{
748 kvNames: make(chan string),
749 }
750 l := &streamLister{js: js}
751 streamsReq := streamsRequest{
752 Subject: fmt.Sprintf(kvSubjectsTmpl, "*"),
753 }
754 go func() {
755 defer close(res.kvNames)
756 for {
757 page, err := l.streamNames(ctx, streamsReq)
758 if err != nil && !errors.Is(err, ErrEndOfData) {
759 res.err = err
760 return
761 }
762 for _, name := range page {
763 if !strings.HasPrefix(name, kvBucketNamePre) {
764 continue
765 }
766 res.kvNames <- strings.TrimPrefix(name, kvBucketNamePre)
767 }
768 if errors.Is(err, ErrEndOfData) {
769 return
770 }
771 }
772 }()
773 return res
774}
775
776// KeyValueStores is used to retrieve a list of key value store statuses
777func (js *jetStream) KeyValueStores(ctx context.Context) KeyValueLister {

Callers

nothing calls this directly

Calls 2

streamNamesMethod · 0.95
IsMethod · 0.45

Tested by

no test coverage detected