MCPcopy Create free account
hub / github.com/CPChain/chain / AddPeer

Method AddPeer

consensus/dpor/backend/handler.go:140–159  ·  view source on GitHub ↗

AddPeer adds a p2p peer to local peer set

(version int, p *p2p.Peer, rw p2p.MsgReadWriter)

Source from the content-addressed store, hash-verified

138
139// AddPeer adds a p2p peer to local peer set
140func (h *Handler) AddPeer(version int, p *p2p.Peer, rw p2p.MsgReadWriter) (string, bool, bool, error) {
141 blk := h.dpor.GetCurrentBlock()
142 if blk == nil {
143 log.Error("current block is nil", "block", blk)
144 return "", false, false, errNilBlock
145 }
146
147 var (
148 number = blk.NumberU64()
149 currentTerm = h.dpor.TermOf(number)
150 futureTerm = h.dpor.FutureTermOf(number)
151 )
152
153 mac, sig, err := h.dpor.GetMac()
154 if err != nil {
155 log.Fatal("err when get message authentication code", "err", err)
156 }
157
158 return h.dialer.AddPeer(version, p, rw, mac, sig, currentTerm, futureTerm)
159}
160
161// RemovePeer removes a p2p peer with its addr
162func (h *Handler) RemovePeer(addr string) {

Callers 1

TestHandler_AddPeerFunction · 0.95

Calls 8

NumberU64Method · 0.80
GetCurrentBlockMethod · 0.65
ErrorMethod · 0.65
TermOfMethod · 0.65
FutureTermOfMethod · 0.65
GetMacMethod · 0.65
FatalMethod · 0.65
AddPeerMethod · 0.65

Tested by 1

TestHandler_AddPeerFunction · 0.76