Files
via/pubsub.go
Ryan Hamamura 5d61149fa3
All checks were successful
CI / Build and Test (push) Successful in 31s
fix: make embedded NATS opt-in so tests don't hang
Move NATS startup from New() to Start(), so tests that don't use
pubsub never block on server initialization. Add a 10s timeout to
WaitForServer() and skip NATS tests gracefully when unavailable.
2026-02-18 08:45:03 -10:00

17 lines
563 B
Go

package via
// PubSub is an interface for publish/subscribe messaging backends.
// By default, Start() launches an embedded NATS server if no backend
// has been configured. Supply a custom implementation via
// Config(Options{PubSub: yourBackend}) to override.
type PubSub interface {
Publish(subject string, data []byte) error
Subscribe(subject string, handler func(data []byte)) (Subscription, error)
Close() error
}
// Subscription represents an active subscription that can be manually unsubscribed.
type Subscription interface {
Unsubscribe() error
}