github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/radar/mainchain/main_radar_actor.go (about) 1 package mainchain 2 3 import ( 4 "fmt" 5 "reflect" 6 7 "github.com/ontio/ontology-eventbus/actor" 8 "github.com/sixexorg/magnetic-ring/bactor" 9 "github.com/sixexorg/magnetic-ring/common" 10 orgtypes "github.com/sixexorg/magnetic-ring/core/orgchain/types" 11 "github.com/sixexorg/magnetic-ring/node" 12 ) 13 14 type MainRadarActor struct { 15 mainRadar *LeagueConsumers 16 } 17 18 func (mra *MainRadarActor) SetMainRadar(mainRadar *LeagueConsumers) { 19 mra.mainRadar = mainRadar 20 } 21 func (mra *MainRadarActor) Receive(context actor.Context) { 22 switch msg := context.Message().(type) { 23 case *orgtypes.Block: 24 fmt.Println("🔆 📡 📩 receive leagueBlock") 25 leagueConsumers.ReceiveBlock(msg) 26 case *common.NodeLH: 27 //get all stars's league processing progress 28 nodeLHC.receiveNodeLH(msg) 29 case []string: 30 nodeLHC.refreshStarNode(msg) 31 case uint64: 32 //to refresh stars node 33 stars := node.GurStars() 34 nodeLHC.checkNodeRoot(stars) 35 case *bactor.LeagueRadarCache: 36 //SupplementLeagueConsumer is used to synchronize lost cross-chain storage 37 leagueConsumers.SupplementLeagueConsumer(msg.LeagueId, msg.BlockHash, msg.Height) 38 default: 39 fmt.Printf("container txpool-tx actor: unknown msg %v type %v\n", msg, reflect.TypeOf(msg)) 40 } 41 }