Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateSubscription ¶
type CreateSubscription func(ctx context.Context, id string) Subscription
type Subscription ¶
type Subscription interface {
// Subscription is also a listener
Listener
// Start receiving message
Start()
// Publish to this single subscription
// intended to be called by state machine / app or for debugging purpose
Publish(message any) error
}
It can be a "FSM" that lives on each request
type Topic ¶
type Topic interface {
// TODO: find new pattern, maybe CreateSubscription can be leftout?
Subscribe(ctx context.Context, fn CreateSubscription) (Subscription, error)
GetSubscription(id string) (Subscription, error)
RemoveSubscription(id string) error
Broadcast(ctx context.Context, message any) error
}
Topic implementation
Click to show internal directories.
Click to hide internal directories.