actor.go 943 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package ops
  2. import (
  3. "f1-game/internal/code"
  4. nameActor "f1-game/internal/name/actor"
  5. nameRemote "f1-game/internal/name/remote"
  6. "f1-game/internal/pb"
  7. "f1-game/nodes/center/internal/db"
  8. "github.com/cherry-game/cherry/net/parser/pomelo"
  9. )
  10. var (
  11. pingReturn = &pb.Bool{Value: true}
  12. )
  13. type (
  14. actor struct {
  15. pomelo.ActorBase
  16. }
  17. )
  18. func NewActor() *actor {
  19. return &actor{}
  20. }
  21. func (p *actor) AliasID() string {
  22. return nameActor.CenterOps
  23. }
  24. func (p *actor) OnInit() {
  25. p.Remote().Register(nameRemote.CenterOps_Ping, p.ping)
  26. p.Remote().Register(nameRemote.CenterOps_Shutdown, p.shutdown)
  27. p.Remote().Register(nameRemote.CenterOps_DbReport, p.dbReport)
  28. }
  29. // ping 请求center是否响应
  30. func (p *actor) ping() (*pb.Bool, int32) {
  31. return pingReturn, code.OK
  32. }
  33. func (p *actor) shutdown() int32 {
  34. p.App().Shutdown()
  35. return code.OK
  36. }
  37. func (p *actor) dbReport() (*pb.DBQueueReportList, int32) {
  38. return db.Queue().Report(), code.OK
  39. }