MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / buildBlockProducerInfos

Function buildBlockProducerInfos

blockproducer/bpinfo.go:37–80  ·  view source on GitHub ↗
(
	localNodeID proto.NodeID, peers *proto.Peers, isAPINode bool,
)

Source from the content-addressed store, hash-verified

35}
36
37func buildBlockProducerInfos(
38 localNodeID proto.NodeID, peers *proto.Peers, isAPINode bool,
39) (
40 localBPInfo *blockProducerInfo, bpInfos []*blockProducerInfo, err error,
41) {
42 var (
43 total = len(peers.PeersHeader.Servers)
44 index int32
45 found bool
46 )
47
48 bpInfos = make([]*blockProducerInfo, total)
49 for i, v := range peers.PeersHeader.Servers {
50 var role = "F"
51 if v == peers.Leader {
52 role = "L"
53 }
54 bpInfos[i] = &blockProducerInfo{
55 rank: uint32(i),
56 total: uint32(total),
57 role: role,
58 nodeID: v,
59 }
60 }
61
62 if isAPINode {
63 localBPInfo = &blockProducerInfo{
64 rank: 0,
65 total: uint32(total),
66 role: "A",
67 nodeID: localNodeID,
68 }
69 return localBPInfo, bpInfos, nil
70 }
71
72 if index, found = peers.Find(localNodeID); !found {
73 err = ErrLocalNodeNotFound
74 return
75 }
76
77 localBPInfo = bpInfos[index]
78
79 return
80}

Callers 1

NewChainWithContextFunction · 0.85

Calls 1

FindMethod · 0.80

Tested by

no test coverage detected