Files
Sun1602/Tools/WiseClient/Logic/Logic.PeriodicWork.h
T
2022-10-26 12:25:11 +08:00

48 lines
1.1 KiB
C++

#pragma once
#include "LogicFlowController.h"
class IPeriodicWork : public IWorkNode
{
public: DECL_CONST_MEMBER SECOND = 1000;
DECL_CONST_MEMBER INTERVAL_HEARTBEAT = 20*SECOND;
DECL_CONST_MEMBER INTERVAL_WORLD_CONNECT_SYN = 15*SECOND;
public: IPeriodicWork(WiseUser* pUser) : m_pUser(pUser)
{ }
~IPeriodicWork() {}
public: virtual BOOL DoInit();
virtual BOOL DoProcess();
virtual BOOL IsComplete();
virtual BOOL DoRelease();
virtual void OnMsg(sSIG_MSG* pSIG_MSG);
private: WiseUser* m_pUser;
ITimeout m_HEARTBEAT_TIMER_forAGENT;
ITimeout m_HEARTBEAT_TIMER_forWORLD;
ITimeout m_CONNECTION_TIMER_forWORLD;
};
class IWorldSessionControl : public IWorkNode
{
public:
public: IWorldSessionControl(WiseUser* pUser) : m_pUser(pUser)
{ }
~IWorldSessionControl() {}
public: virtual BOOL DoInit();
virtual BOOL DoProcess();
virtual BOOL IsComplete();
virtual BOOL DoRelease();
virtual void OnMsg(sSIG_MSG* pSIG_MSG);
private: WiseUser* m_pUser;
ITimeout m_CONNECTION_TIMER_forWORLD;
};