mirror of
https://github.com/eosswedenorg/thalos
synced 2026-06-17 04:30:03 +02:00
api/client.go: add rollback callback
This commit is contained in:
parent
021c71f50b
commit
9d79bb8315
1 changed files with 10 additions and 0 deletions
|
|
@ -19,6 +19,7 @@ type Client struct {
|
|||
wg sync.WaitGroup
|
||||
|
||||
OnError func(error)
|
||||
OnRollback func(message.RollbackMessage)
|
||||
OnTransaction func(message.TransactionTrace)
|
||||
OnAction func(message.ActionTrace)
|
||||
OnHeartbeat func(message.HeartBeat)
|
||||
|
|
@ -58,6 +59,14 @@ func (c *Client) decode(payload []byte, msg any) bool {
|
|||
return true
|
||||
}
|
||||
|
||||
// Rollback handler
|
||||
func (c *Client) rollbackHandler(payload []byte) {
|
||||
var rb message.RollbackMessage
|
||||
if ok := c.decode(payload, &rb); ok {
|
||||
c.OnRollback(rb)
|
||||
}
|
||||
}
|
||||
|
||||
// Transaction handler
|
||||
func (c *Client) transactionHandler(payload []byte) {
|
||||
var trans message.TransactionTrace
|
||||
|
|
@ -95,6 +104,7 @@ func (c *Client) Subscribe(channel Channel) error {
|
|||
handler handler
|
||||
callback any
|
||||
}{
|
||||
RollbackChannel.Type(): {c.rollbackHandler, c.OnRollback},
|
||||
TransactionChannel.Type(): {c.transactionHandler, c.OnTransaction},
|
||||
HeartbeatChannel.Type(): {c.hbHandler, c.OnHeartbeat},
|
||||
ActionChannel{}.Channel().Type(): {c.actHandler, c.OnAction},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue