Files
micro-broker-kgo/event.go
Evstigneev Denis 3b6475b1ae
Some checks failed
test / test (pull_request) Failing after 14m18s
lint / lint (pull_request) Failing after 14m28s
try refactoring && decomposition subsribe && update deps
2025-06-09 21:35:24 +03:00

58 lines
739 B
Go

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{}}
},
}
func (p *event) reset() {
clear(p.msg.Header)
p.msg.Body = p.msg.Body[:0]
p.err = nil
p.ack = false
}