Added basic hearbeat framework

This commit is contained in:
Kayne Ruse
2014-09-03 00:53:55 +10:00
parent d50cf5b91e
commit 5577387d61
5 changed files with 37 additions and 0 deletions
+17
View File
@@ -270,6 +270,12 @@ void InWorld::KeyUp(SDL_KeyboardEvent const& key) {
void InWorld::HandlePacket(SerialPacket* const argPacket) {
switch(argPacket->type) {
case SerialPacketType::PING:
HandlePing(static_cast<ServerPacket*>(argPacket));
break;
case SerialPacketType::PONG:
HandlePong(static_cast<ServerPacket*>(argPacket));
break;
case SerialPacketType::DISCONNECT:
HandleDisconnect(static_cast<ClientPacket*>(argPacket));
break;
@@ -292,6 +298,17 @@ void InWorld::HandlePacket(SerialPacket* const argPacket) {
}
}
void InWorld::HandlePing(ServerPacket* const argPacket) {
ServerPacket newPacket;
newPacket.type = SerialPacketType::PONG;
network.SendTo(&argPacket->srcAddress, &newPacket);
}
void InWorld::HandlePong(ServerPacket* const argPacket) {
//TODO: InWorld::HandlePong()
}
void InWorld::HandleDisconnect(ClientPacket* const argPacket) {
//TODO: More needed in the disconnection
SetNextScene(SceneList::CLEANUP);
+2
View File
@@ -75,6 +75,8 @@ protected:
//Network handlers
void HandlePacket(SerialPacket* const);
void HandlePing(ServerPacket* const);
void HandlePong(ServerPacket* const);
void HandleDisconnect(ClientPacket* const);
void HandleCharacterNew(CharacterPacket* const);
void HandleCharacterDelete(CharacterPacket* const);
+2
View File
@@ -61,6 +61,8 @@ private:
void HandlePacket(SerialPacket* const);
//basic connections
void HandlePing(ServerPacket* const);
void HandlePong(ServerPacket* const);
void HandleBroadcastRequest(ServerPacket* const);
void HandleJoinRequest(ClientPacket* const);
void HandleDisconnect(ClientPacket* const);
+6
View File
@@ -178,6 +178,12 @@ void ServerApplication::Quit() {
void ServerApplication::HandlePacket(SerialPacket* const argPacket) {
switch(argPacket->type) {
//basic connections
case SerialPacketType::PING:
HandlePing(static_cast<ServerPacket*>(argPacket));
break;
case SerialPacketType::PONG:
HandlePong(static_cast<ServerPacket*>(argPacket));
break;
case SerialPacketType::BROADCAST_REQUEST:
HandleBroadcastRequest(static_cast<ServerPacket*>(argPacket));
break;
+10
View File
@@ -27,6 +27,16 @@
//basic connections
//-------------------------
void ServerApplication::HandlePing(ServerPacket* const argPacket) {
ServerPacket newPacket;
newPacket.type = SerialPacketType::PONG;
network.SendTo(&argPacket->srcAddress, &newPacket);
}
void ServerApplication::HandlePong(ServerPacket* const argPacket) {
//TODO: ServerApplications::HandlePong()
}
void ServerApplication::HandleBroadcastRequest(ServerPacket* const argPacket) {
//send the server's data
ServerPacket newPacket;