Write server functionality for listing inbound and outbound tags.

This commit is contained in:
Sergey Gorbunov 2025-05-13 16:21:36 +03:00
parent 72170d8b6b
commit 7cb8cfb9eb
No known key found for this signature in database
GPG key ID: A8C3D74066B8E768
8 changed files with 661 additions and 278 deletions

View file

@ -145,6 +145,21 @@ func (m *Manager) RemoveHandler(ctx context.Context, tag string) error {
return nil
}
// ListHandlers implements outbound.Manager.
func (m *Manager) ListHandlers(ctx context.Context) []outbound.Handler {
m.access.RLock()
defer m.access.RUnlock()
var response []outbound.Handler
copy(m.untaggedHandlers, response)
for _, v := range m.taggedHandler {
response = append(response, v)
}
return response
}
// Select implements outbound.HandlerSelector.
func (m *Manager) Select(selectors []string) []string {