MCPcopy Create free account
hub / github.com/DNAProject/DNA / msgSendLoop

Method msgSendLoop

consensus/vbft/service.go:2099–2131  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2097}
2098
2099func (self *Server) msgSendLoop() {
2100 self.quitWg.Add(1)
2101 defer self.quitWg.Done()
2102
2103 for {
2104 select {
2105 case evt := <-self.msgSendC:
2106 if self.nonConsensusNode() {
2107 continue
2108 }
2109 payload, err := SerializeVbftMsg(evt.Msg)
2110 if err != nil {
2111 log.Errorf("server %d failed to serialized msg (type: %d): %s", self.Index, evt.Msg.Type(), err)
2112 continue
2113 }
2114 if evt.ToPeer == math.MaxUint32 {
2115 // broadcast
2116 if err := self.broadcastToAll(payload); err != nil {
2117 log.Errorf("server %d xmit msg (type %d): %s",
2118 self.Index, evt.Msg.Type(), err)
2119 }
2120 } else {
2121 if err := self.sendToPeer(evt.ToPeer, payload); err != nil {
2122 log.Errorf("server %d xmit to peer %d failed: %s", self.Index, evt.ToPeer, err)
2123 }
2124 }
2125
2126 case <-self.quitC:
2127 log.Infof("server %d msgSendLoop quit", self.Index)
2128 return
2129 }
2130 }
2131}
2132
2133//creategovernaceTransaction invoke governance native contract commit_pos
2134func (self *Server) creategovernaceTransaction(blkNum uint32) (*types.Transaction, error) {

Callers 1

initializeMethod · 0.95

Calls 8

nonConsensusNodeMethod · 0.95
broadcastToAllMethod · 0.95
sendToPeerMethod · 0.95
ErrorfFunction · 0.92
InfofFunction · 0.92
SerializeVbftMsgFunction · 0.85
AddMethod · 0.80
TypeMethod · 0.65

Tested by

no test coverage detected