|
|
|
@ -35,16 +35,6 @@ func (node *Node) setupForShardLeader() { |
|
|
|
|
node.serviceManager.RegisterService(service.Randomness, randomness.New(node.DRand)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) stopShardLeaderServices() { |
|
|
|
|
node.serviceManager.StopService(service.PeerDiscovery) |
|
|
|
|
node.serviceManager.StopService(service.NetworkInfo) |
|
|
|
|
node.serviceManager.StopService(service.SupportExplorer) |
|
|
|
|
node.serviceManager.StopService(service.Consensus) |
|
|
|
|
node.serviceManager.StopService(service.BlockProposal) |
|
|
|
|
node.serviceManager.StopService(service.ClientSupport) |
|
|
|
|
node.serviceManager.StopService(service.Randomness) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) setupForShardValidator() { |
|
|
|
|
nodeConfig, chanPeer := node.initNodeConfiguration() |
|
|
|
|
|
|
|
|
@ -54,11 +44,6 @@ func (node *Node) setupForShardValidator() { |
|
|
|
|
node.serviceManager.RegisterService(service.NetworkInfo, networkinfo.New(node.host, p2p.GroupIDBeacon, chanPeer, nil)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) stopShardValidatorServices() { |
|
|
|
|
node.serviceManager.StopService(service.PeerDiscovery) |
|
|
|
|
node.serviceManager.StopService(service.NetworkInfo) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) setupForBeaconLeader() { |
|
|
|
|
nodeConfig, chanPeer := node.initBeaconNodeConfiguration() |
|
|
|
|
|
|
|
|
@ -76,15 +61,6 @@ func (node *Node) setupForBeaconLeader() { |
|
|
|
|
node.serviceManager.RegisterService(service.Randomness, randomness.New(node.DRand)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) stopBeaconLeaderServices() { |
|
|
|
|
node.serviceManager.StopService(service.PeerDiscovery) |
|
|
|
|
node.serviceManager.StopService(service.NetworkInfo) |
|
|
|
|
node.serviceManager.StopService(service.Consensus) |
|
|
|
|
node.serviceManager.StopService(service.BlockProposal) |
|
|
|
|
node.serviceManager.StopService(service.ClientSupport) |
|
|
|
|
node.serviceManager.StopService(service.Randomness) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) setupForBeaconValidator() { |
|
|
|
|
nodeConfig, chanPeer := node.initBeaconNodeConfiguration() |
|
|
|
|
|
|
|
|
@ -94,11 +70,6 @@ func (node *Node) setupForBeaconValidator() { |
|
|
|
|
node.serviceManager.RegisterService(service.NetworkInfo, networkinfo.New(node.host, p2p.GroupIDBeacon, chanPeer, nil)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) stopBeaconValidatorServices() { |
|
|
|
|
node.serviceManager.StopService(service.PeerDiscovery) |
|
|
|
|
node.serviceManager.StopService(service.NetworkInfo) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) setupForNewNode() { |
|
|
|
|
nodeConfig, chanPeer := node.initNodeConfiguration() |
|
|
|
|
|
|
|
|
@ -112,12 +83,6 @@ func (node *Node) setupForNewNode() { |
|
|
|
|
// TODO: how to restart networkinfo and discovery service after receiving shard id info from beacon chain?
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) stopNewNodeServices() { |
|
|
|
|
node.serviceManager.StopService(service.PeerDiscovery) |
|
|
|
|
node.serviceManager.StopService(service.NetworkInfo) |
|
|
|
|
node.serviceManager.StopService(service.Staking) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) setupForClientNode() { |
|
|
|
|
nodeConfig, chanPeer := node.initNodeConfiguration() |
|
|
|
|
|
|
|
|
@ -127,11 +92,6 @@ func (node *Node) setupForClientNode() { |
|
|
|
|
node.serviceManager.RegisterService(service.NetworkInfo, networkinfo.New(node.host, p2p.GroupIDBeacon, chanPeer, nil)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (node *Node) stopClientNodeServices() { |
|
|
|
|
node.serviceManager.StopService(service.PeerDiscovery) |
|
|
|
|
node.serviceManager.StopService(service.NetworkInfo) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// ServiceManagerSetup setups service store.
|
|
|
|
|
func (node *Node) ServiceManagerSetup() { |
|
|
|
|
node.serviceManager = &service.Manager{} |
|
|
|
@ -162,20 +122,11 @@ func (node *Node) RunServices() { |
|
|
|
|
node.serviceManager.RunServices() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// StopServicesByRole stops all service of the given role.
|
|
|
|
|
func (node *Node) StopServicesByRole(role Role) { |
|
|
|
|
switch role { |
|
|
|
|
case ShardLeader: |
|
|
|
|
node.stopShardLeaderServices() |
|
|
|
|
case ShardValidator: |
|
|
|
|
node.stopShardValidatorServices() |
|
|
|
|
case BeaconLeader: |
|
|
|
|
node.stopBeaconLeaderServices() |
|
|
|
|
case BeaconValidator: |
|
|
|
|
node.stopBeaconValidatorServices() |
|
|
|
|
case NewNode: |
|
|
|
|
node.stopNewNodeServices() |
|
|
|
|
case ClientNode: |
|
|
|
|
node.stopClientNodeServices() |
|
|
|
|
// StopServices runs registered services.
|
|
|
|
|
func (node *Node) StopServices() { |
|
|
|
|
if node.serviceManager == nil { |
|
|
|
|
utils.GetLogInstance().Info("Service manager is not set up yet.") |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
node.serviceManager.StopServicesByRole([]service.Type{}) |
|
|
|
|
} |
|
|
|
|