game_sync/robot/base/trascate_stop.go

37 lines
1.5 KiB
Go

package base
import (
"mongo.games.com/game/common"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/module"
"mongo.games.com/goserver/core/timer"
"mongo.games.com/goserver/core/transact"
"time"
)
func init() {
transact.RegisteHandler(common.TransTypeStopServer, &transact.TransHanderWrapper{
OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult {
logger.Logger.Infof("StopApi start TransTypeStopServer OnExecuteWrapper %x", tNode.MyTnp.TId)
ClientMgrSingleton.Running = false
timer.StartTimer(timer.TimerActionWrapper(func(h timer.TimerHandle, ud interface{}) bool {
module.Stop()
return true
}), nil, time.Second*10, 1)
return transact.TransExeResult_Success
}),
OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult {
logger.Logger.Info("StopApi start TransTypeStopServer OnCommitWrapper")
return transact.TransExeResult_Success
}),
OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult {
logger.Logger.Info("StopApi start TransTypeStopServer OnRollBackWrapper")
return transact.TransExeResult_Success
}),
OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult {
logger.Logger.Infof("StopApi start TransTypeStopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild)
return transact.TransExeResult(retCode)
}),
})
}