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) }), }) }