KeyValueStoreNames is used to retrieve a list of key value store names
(ctx context.Context)
| 744 | |
| 745 | // KeyValueStoreNames is used to retrieve a list of key value store names |
| 746 | func (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 |
| 777 | func (js *jetStream) KeyValueStores(ctx context.Context) KeyValueLister { |
nothing calls this directly
no test coverage detected