All checks were successful
CI / Build and Test (push) Successful in 31s
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.
17 lines
563 B
Go
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
|
|
}
|