Documentation ¶
Index ¶
- type Membroker
- func (m Membroker[T]) Exited() bool
- func (m Membroker[T]) Message(id string) *Message[T]
- func (m *Membroker[T]) Run() error
- func (m *Membroker[T]) RunContext(ctx context.Context) error
- func (m *Membroker[T]) Send(msg *Message[T])
- func (m *Membroker[T]) Stop()
- func (m *Membroker[T]) Subscribe() *Subscriber[T]
- func (m *Membroker[T]) Unsubscribe(subId string)
- type Message
- func (m *Message[T]) Ack(subscriberId string)
- func (m Message[T]) AckedBy(subscriberId string) bool
- func (m Message[T]) Acks() uint64
- func (m Message[T]) CanExpire() bool
- func (m Message[T]) Data() T
- func (m Message[T]) Expiration() time.Time
- func (m Message[T]) Expired() bool
- func (m Message[T]) HasSufficientAcks() bool
- func (m Message[T]) Id() string
- func (m Message[T]) RequiredAcks() uint64
- func (m *Message[T]) SetExpiration(exp time.Time) *Message[T]
- type Subscriber
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Membroker ¶
type Membroker[T any] struct { // contains filtered or unexported fields }
func (*Membroker[T]) RunContext ¶
RunContext starts the Membroker's broadcast and prune loops, and waits for the passed context to be done or Stop to be called before exiting.
func (*Membroker[T]) Stop ¶
func (m *Membroker[T]) Stop()
Stop cleanly stops the Membroker, preventing any new messages from being sent or broadcasted.
func (*Membroker[T]) Subscribe ¶
func (m *Membroker[T]) Subscribe() *Subscriber[T]
Subscribe returns a new Subscriber which is stored in the Membroker's internal subscribers map.
func (*Membroker[T]) Unsubscribe ¶
Unsubscribe removes the passed subscriber from the Membroker's internal subscribers map if present. If the passed subscriber is present, it is also closed.
type Message ¶
type Message[T any] struct { // contains filtered or unexported fields }
func NewMessage ¶
func (Message[T]) Expiration ¶
func (Message[T]) HasSufficientAcks ¶
func (Message[T]) RequiredAcks ¶
type Subscriber ¶
type Subscriber[T any] struct { // contains filtered or unexported fields }
func NewSubscriber ¶
func NewSubscriber[T any]() *Subscriber[T]
func (*Subscriber[T]) Close ¶
func (s *Subscriber[T]) Close()
func (Subscriber[T]) Closed ¶
func (s Subscriber[T]) Closed() bool
func (Subscriber[T]) Id ¶
func (s Subscriber[T]) Id() string
func (Subscriber[T]) Recv ¶
func (s Subscriber[T]) Recv() *Message[T]
func (Subscriber[T]) RecvAll ¶
func (s Subscriber[T]) RecvAll() <-chan *Message[T]
func (*Subscriber[T]) Send ¶
func (s *Subscriber[T]) Send(msg *Message[T])
Click to show internal directories.
Click to hide internal directories.