MCPcopy Create free account
hub / github.com/tendermint/tendermint / OnStop

Method OnStop

node/node.go:806–907  ·  view source on GitHub ↗

OnStop stops the Node. It implements service.Service.

()

Source from the content-addressed store, hash-verified

804
805// OnStop stops the Node. It implements service.Service.
806func (n *nodeImpl) OnStop() {
807
808 n.Logger.Info("Stopping Node")
809
810 // first stop the non-reactor services
811 if err := n.eventBus.Stop(); err != nil {
812 n.Logger.Error("Error closing eventBus", "err", err)
813 }
814 if err := n.indexerService.Stop(); err != nil {
815 n.Logger.Error("Error closing indexerService", "err", err)
816 }
817
818 for _, es := range n.eventSinks {
819 if err := es.Stop(); err != nil {
820 n.Logger.Error("failed to stop event sink", "err", err)
821 }
822 }
823
824 if n.config.Mode != config.ModeSeed {
825 // now stop the reactors
826
827 // Stop the real blockchain reactor separately since the switch uses the shim.
828 if err := n.bcReactor.Stop(); err != nil {
829 n.Logger.Error("failed to stop the blockchain reactor", "err", err)
830 }
831
832 // Stop the real consensus reactor separately since the switch uses the shim.
833 if err := n.consensusReactor.Stop(); err != nil {
834 n.Logger.Error("failed to stop the consensus reactor", "err", err)
835 }
836
837 // Stop the real state sync reactor separately since the switch uses the shim.
838 if err := n.stateSyncReactor.Stop(); err != nil {
839 n.Logger.Error("failed to stop the state sync reactor", "err", err)
840 }
841
842 // Stop the real mempool reactor separately since the switch uses the shim.
843 if err := n.mempoolReactor.Stop(); err != nil {
844 n.Logger.Error("failed to stop the mempool reactor", "err", err)
845 }
846
847 // Stop the real evidence reactor separately since the switch uses the shim.
848 if err := n.evidenceReactor.Stop(); err != nil {
849 n.Logger.Error("failed to stop the evidence reactor", "err", err)
850 }
851 }
852
853 if err := n.pexReactor.Stop(); err != nil {
854 n.Logger.Error("failed to stop the PEX v2 reactor", "err", err)
855 }
856
857 if n.config.P2P.UseLegacy {
858 if err := n.sw.Stop(); err != nil {
859 n.Logger.Error("failed to stop switch", "err", err)
860 }
861 } else {
862 if err := n.router.Stop(); err != nil {
863 n.Logger.Error("failed to stop router", "err", err)

Callers

nothing calls this directly

Calls 5

ShutdownMethod · 0.80
InfoMethod · 0.65
StopMethod · 0.65
ErrorMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected