37 lines
1.5 KiB
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)
|
|
}),
|
|
})
|
|
}
|