mirror of
https://github.com/eosswedenorg/thalos
synced 2026-07-04 12:03:41 +02:00
api/client.go: add Transaction callback.
This commit is contained in:
parent
38f885f0df
commit
021c71f50b
1 changed files with 14 additions and 4 deletions
|
|
@ -19,6 +19,7 @@ type Client struct {
|
||||||
wg sync.WaitGroup
|
wg sync.WaitGroup
|
||||||
|
|
||||||
OnError func(error)
|
OnError func(error)
|
||||||
|
OnTransaction func(message.TransactionTrace)
|
||||||
OnAction func(message.ActionTrace)
|
OnAction func(message.ActionTrace)
|
||||||
OnHeartbeat func(message.HeartBeat)
|
OnHeartbeat func(message.HeartBeat)
|
||||||
OnTableDelta func(message.TableDelta)
|
OnTableDelta func(message.TableDelta)
|
||||||
|
|
@ -57,6 +58,14 @@ func (c *Client) decode(payload []byte, msg any) bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Transaction handler
|
||||||
|
func (c *Client) transactionHandler(payload []byte) {
|
||||||
|
var trans message.TransactionTrace
|
||||||
|
if ok := c.decode(payload, &trans); ok {
|
||||||
|
c.OnTransaction(trans)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Action handler
|
// Action handler
|
||||||
func (c *Client) actHandler(payload []byte) {
|
func (c *Client) actHandler(payload []byte) {
|
||||||
var act message.ActionTrace
|
var act message.ActionTrace
|
||||||
|
|
@ -86,6 +95,7 @@ func (c *Client) Subscribe(channel Channel) error {
|
||||||
handler handler
|
handler handler
|
||||||
callback any
|
callback any
|
||||||
}{
|
}{
|
||||||
|
TransactionChannel.Type(): {c.transactionHandler, c.OnTransaction},
|
||||||
HeartbeatChannel.Type(): {c.hbHandler, c.OnHeartbeat},
|
HeartbeatChannel.Type(): {c.hbHandler, c.OnHeartbeat},
|
||||||
ActionChannel{}.Channel().Type(): {c.actHandler, c.OnAction},
|
ActionChannel{}.Channel().Type(): {c.actHandler, c.OnAction},
|
||||||
TableDeltaChannel{}.Channel().Type(): {c.tableDeltaHandler, c.OnTableDelta},
|
TableDeltaChannel{}.Channel().Type(): {c.tableDeltaHandler, c.OnTableDelta},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue