package kgo import ( "context" "sync" "go.unistack.org/micro/v3/broker" ) type event struct { msg *broker.Message err error ctx context.Context topic string sync.RWMutex ack bool } func (p *event) Context() context.Context { return p.ctx } func (p *event) Topic() string { return p.topic } func (p *event) Message() *broker.Message { return p.msg } func (p *event) Ack() error { p.ack = true return nil } func (p *event) Error() error { return p.err } func (p *event) SetError(err error) { p.err = err } var eventPool = sync.Pool{ New: func() interface{} { return &event{msg: &broker.Message{}} }, }