about summary refs log tree commit diff
path: root/src/engine/server/register.h
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2010-05-29 07:25:38 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2010-05-29 07:25:38 +0000
commit72c06a258940696093f255fb1061beb58e1cdd0b (patch)
tree36b9a7712eec2d4f07837eab9c38ef1c5af85319 /src/engine/server/register.h
parente56feb597bc743677633432f77513b02907fd169 (diff)
downloadzcatch-72c06a258940696093f255fb1061beb58e1cdd0b.tar.gz
zcatch-72c06a258940696093f255fb1061beb58e1cdd0b.zip
copied refactor to trunk
Diffstat (limited to 'src/engine/server/register.h')
-rw-r--r--src/engine/server/register.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/engine/server/register.h b/src/engine/server/register.h
new file mode 100644
index 00000000..a800ec1e
--- /dev/null
+++ b/src/engine/server/register.h
@@ -0,0 +1,48 @@
+#ifndef ENGINE_SERVER_REGISTER_H
+#define ENGINE_SERVER_REGISTER_H
+

+class CRegister

+{

+	enum

+	{

+		REGISTERSTATE_START=0,

+		REGISTERSTATE_UPDATE_ADDRS,

+		REGISTERSTATE_QUERY_COUNT,

+		REGISTERSTATE_HEARTBEAT,

+		REGISTERSTATE_REGISTERED,

+		REGISTERSTATE_ERROR

+	};

+

+	struct CMasterserverInfo

+	{

+		NETADDR m_Addr;

+		int m_Count;

+		int m_Valid;

+		int64 m_LastSend;

+	};

+

+	class CNetServer *m_pNetServer;

+	class IEngineMasterServer *m_pMasterServer;

+

+	int m_RegisterState;

+	int64 m_RegisterStateStart;

+	int m_RegisterFirst;

+	int m_RegisterCount;

+

+	class CMasterserverInfo m_aMasterserverInfo[IMasterServer::MAX_MASTERSERVERS];

+	int m_RegisterRegisteredServer;

+

+	void RegisterNewState(int State);

+	void RegisterSendFwcheckresponse(NETADDR *pAddr);

+	void RegisterSendHeartbeat(NETADDR Addr);

+	void RegisterSendCountRequest(NETADDR Addr);

+	void RegisterGotCount(class CNetChunk *pChunk);

+

+public:

+	CRegister();

+	void Init(class CNetServer *pNetServer, class IEngineMasterServer *pMasterServer);

+	void RegisterUpdate();

+	int RegisterProcessPacket(class CNetChunk *pPacket);

+};

+

+#endif