16 lines
581 B
Go
16 lines
581 B
Go
package pubsub
|
|
|
|
import "context"
|
|
|
|
// PubSub provides lightweight publish/subscribe on a single channel.
|
|
// Used for shared poll notifications — not for general-purpose messaging.
|
|
type PubSub interface {
|
|
// Publish sends data to the configured channel/subject.
|
|
Publish(ctx context.Context, data []byte) error
|
|
// Subscribe listens on the configured channel/subject and calls handler
|
|
// for each message. Blocks until ctx is cancelled. Reconnects automatically.
|
|
Subscribe(ctx context.Context, handler func(data []byte)) error
|
|
// Close releases all resources.
|
|
Close() error
|
|
}
|