-package netsync
+package chainmgr
import (
"errors"
"github.com/tendermint/tmlibs/flowrate"
"github.com/vapor/consensus"
+ "github.com/vapor/netsync/peers"
"github.com/vapor/protocol/bc"
"github.com/vapor/protocol/bc/types"
"github.com/vapor/test/mock"
flag consensus.ServiceFlag
srcPeer *P2PPeer
- remoteNode *SyncManager
+ remoteNode *ChainManager
msgCh chan []byte
async bool
}
return p.flag
}
-func (p *P2PPeer) SetConnection(srcPeer *P2PPeer, node *SyncManager) {
+func (p *P2PPeer) SetConnection(srcPeer *P2PPeer, node *ChainManager) {
p.srcPeer = srcPeer
p.remoteNode = node
}
if p.async {
p.msgCh <- msgBytes
} else {
- msgType, msg, _ := DecodeMessage(msgBytes)
+ msgType, msg, _ := decodeMessage(msgBytes)
p.remoteNode.processMsg(p.srcPeer, msgType, msg)
}
return true
func (p *P2PPeer) postMan() {
for msgBytes := range p.msgCh {
- msgType, msg, _ := DecodeMessage(msgBytes)
+ msgType, msg, _ := decodeMessage(msgBytes)
p.remoteNode.processMsg(p.srcPeer, msgType, msg)
}
}
func (ps *PeerSet) StopPeerGracefully(string) {}
type NetWork struct {
- nodes map[*SyncManager]P2PPeer
+ nodes map[*ChainManager]P2PPeer
}
func NewNetWork() *NetWork {
- return &NetWork{map[*SyncManager]P2PPeer{}}
+ return &NetWork{map[*ChainManager]P2PPeer{}}
}
-func (nw *NetWork) Register(node *SyncManager, addr, id string, flag consensus.ServiceFlag) {
+func (nw *NetWork) Register(node *ChainManager, addr, id string, flag consensus.ServiceFlag) {
peer := NewP2PPeer(addr, id, flag)
nw.nodes[node] = *peer
}
-func (nw *NetWork) HandsShake(nodeA, nodeB *SyncManager) (*P2PPeer, *P2PPeer, error) {
+func (nw *NetWork) HandsShake(nodeA, nodeB *ChainManager) (*P2PPeer, *P2PPeer, error) {
B2A, ok := nw.nodes[nodeA]
if !ok {
return nil, nil, errors.New("can't find nodeA's p2p peer on network")
return blocks
}
-func mockSync(blocks []*types.Block) *SyncManager {
+func mockSync(blocks []*types.Block) *ChainManager {
chain := mock.NewChain()
- peers := newPeerSet(NewPeerSet())
+ peers := peers.NewPeerSet(NewPeerSet())
chain.SetBestBlockHeader(&blocks[len(blocks)-1].BlockHeader)
for _, block := range blocks {
chain.SetBlockByHeight(block.Height, block)
}
- genesis, _ := chain.GetHeaderByHeight(0)
- return &SyncManager{
- genesisHash: genesis.Hash(),
+ return &ChainManager{
chain: chain,
blockKeeper: newBlockKeeper(chain, peers),
peers: peers,