-
Notifications
You must be signed in to change notification settings - Fork 1
/
respond.go
66 lines (51 loc) · 1.65 KB
/
respond.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Package node
// @Description: 节点接收到的请求回应方法
package node
import (
"github.com/chain-lab/go-norn/common"
"github.com/chain-lab/go-norn/p2p"
"github.com/chain-lab/go-norn/utils"
log "github.com/sirupsen/logrus"
)
func respondGetBlockBodies(block *common.Block, p *Peer) {
bytesBlockData, err := utils.SerializeBlock(block)
if err != nil {
log.WithField("error", err).Debugln("Serialize block to bytes failed.")
return
}
p.peer.Send(p2p.StatusCodeBlockBodiesMsg, bytesBlockData)
}
func respondGetPooledTransaction(tx *common.Transaction, p *Peer) {
bytesTransactionData, err := utils.SerializeTransaction(tx)
if err != nil {
log.WithField("error", err).Debugln("Serialize transaction to bytes failed.")
return
}
p.peer.Send(p2p.StatusCodePooledTransactionsMsg, bytesTransactionData)
}
func respondSyncGetBlock(block *common.Block, p *Peer) {
bytesBlockData, err := utils.SerializeBlock(block)
if err != nil {
log.WithField("error", err).Debugln("Serialize block to bytes failed.")
return
}
p.peer.Send(p2p.StatusCodeSyncBlocksMsg, bytesBlockData)
}
func respondGetSyncStatus(msg *p2p.SyncStatusMsg, p *Peer) {
//metrics.RespondGetSyncStatusGauge.Inc()
byteStatusMsg, err := utils.SerializeStatusMsg(msg)
if err != nil {
return
}
p.peer.Send(p2p.StatusCodeSyncStatusMsg, byteStatusMsg)
//metrics.RespondGetSyncStatusGauge.Dec()
}
func respondTimeSync(msg *p2p.TimeSyncMsg, p *Peer) {
//metrics.RespondTimeSyncRoutineGauge.Inc()
byteTimeSyncMsg, err := utils.SerializeTimeSyncMsg(msg)
if err != nil {
return
}
p.peer.Send(p2p.StatusCodeTimeSyncRsp, byteTimeSyncMsg)
//metrics.RespondTimeSyncRoutineGauge.Dec()
}