Made Network.h's Start() and Update pure virtual and removed cpp.

Removed unnecessary code from NetworkDefinitions.h.
Renamed sizeOfPackage to sizeOfPacket in Packet.cpp.
This commit is contained in:
Jocke
2015-12-18 10:21:56 +01:00
parent 0eb51a0fea
commit 97f8be1915
7 changed files with 19 additions and 44 deletions
+3 -2
View File
@@ -5,6 +5,7 @@
#include <ctime> #include <ctime>
#include <glm/common.hpp> #include <glm/common.hpp>
#include <boost/asio.hpp>
#include "Network/MessageType.h" #include "Network/MessageType.h"
#include "Network/NetworkDefinitions.h" #include "Network/NetworkDefinitions.h"
@@ -21,8 +22,8 @@ class Client : public Network
public: public:
Client(); Client();
~Client(); ~Client();
void Start(World* world, EventBroker* eventBroker); void Start(World* world, EventBroker* eventBroker) override;
void Update(); void Update() override;
void Close(); void Close();
private: private:
// Assio UDP logic // Assio UDP logic
+3 -6
View File
@@ -8,12 +8,9 @@
class Network class Network
{ {
public: public:
Network(); virtual ~Network() { };
~Network(); virtual void Start(World* m_world, EventBroker *eventBroker) = 0;
virtual void Start(World* m_world, EventBroker *eventBroker); virtual void Update() = 0;
virtual void Update();
protected:
}; };
#endif #endif
@@ -1,20 +1,8 @@
#ifndef NetworkDefines_h__ #ifndef NetworkDefines_h__
#define NetworkDefines_h__ #define NetworkDefines_h__
#include <boost/asio/ip/udp.hpp>
#include <queue>
#include "Network/Packet.h"
#define BOARDSIZE 16
#define MAXCONNECTIONS 8 #define MAXCONNECTIONS 8
#define INPUTSIZE 128 #define INPUTSIZE 128
#define PLAYERSPEED 0.2f; #define PLAYERSPEED 0.2f;
typedef boost::shared_ptr<boost::asio::ip::udp::socket> socket_ptr;
typedef boost::shared_ptr<std::string> string_ptr;
typedef boost::shared_ptr<std::queue<string_ptr>> messageQueue_ptr;
#endif #endif
+3 -2
View File
@@ -5,6 +5,7 @@
#include <ctime> #include <ctime>
#include <glm/common.hpp> #include <glm/common.hpp>
#include <boost/asio/ip/udp.hpp>
#include "Network/MessageType.h" #include "Network/MessageType.h"
#include "Network/NetworkDefinitions.h" #include "Network/NetworkDefinitions.h"
@@ -18,8 +19,8 @@ class Server : public Network
public: public:
Server(); Server();
~Server(); ~Server();
void Start(World* m_world, EventBroker *eventBroker); void Start(World* m_world, EventBroker *eventBroker) override;
void Update(); void Update() override;
void Close(); void Close();
private: private:
+1 -1
View File
@@ -5,7 +5,7 @@ using namespace boost::asio::ip;
Client::Client() : m_Socket(m_IOService) Client::Client() : m_Socket(m_IOService)
{ {
m_ReceiverEndpoint = udp::endpoint(boost::asio::ip::address::from_string("192.168.1.2"), 13); m_ReceiverEndpoint = udp::endpoint(boost::asio::ip::address::from_string("192.168.1.6"), 13);
// Set up network stream // Set up network stream
m_NextSnapshot.InputForward = ""; m_NextSnapshot.InputForward = "";
m_NextSnapshot.InputRight = ""; m_NextSnapshot.InputRight = "";
-13
View File
@@ -1,13 +0,0 @@
#include "Network/Network.h"
Network::Network()
{ }
Network::~Network()
{ }
void Network::Start(World * m_world, EventBroker * eventBroker)
{ }
void Network::Update()
{ }
+9 -8
View File
@@ -12,14 +12,15 @@ Packet::Packet(MessageType type, unsigned int& packetID)
packetID++; packetID++;
} }
// Create message
Packet::Packet(char* data, const int sizeOfPacket) Packet::Packet(char* data, const int sizeOfPacket)
{ {
// Create message
// Resize message // Resize message
m_MaxPacketSize = sizeOfPackage; m_MaxPacketSize = sizeOfPacket;
// Copy data newly allocated memory // Copy data newly allocated memory
m_Data = new char[sizeOfPacket];
memcpy(m_Data, data, sizeOfPacket);
m_Offset = sizeOfPacket;
} }
Packet::~Packet() Packet::~Packet()
@@ -39,7 +40,7 @@ void Packet::WriteString(std::string str)
} }
void Packet::WriteData(char * data, int sizeOfData) void Packet::WriteData(char * data, int sizeOfData)
{ {
if (m_Offset + sizeOfData > m_MaxPacketSize) { if (m_Offset + sizeOfData > m_MaxPacketSize) {
LOG_WARNING("Packet::WriteData(): Data size in packet exceeded maximum packet size.\n"); LOG_WARNING("Packet::WriteData(): Data size in packet exceeded maximum packet size.\n");
} }
@@ -50,10 +51,10 @@ void Packet::WriteData(char * data, int sizeOfData)
std::string Packet::ReadString() std::string Packet::ReadString()
{ {
std::string returnValue(m_Data + m_ReturnDataOffset); std::string returnValue(m_Data + m_ReturnDataOffset);
if (m_Offset < m_ReturnDataOffset + returnValue.size()){ if (m_Offset < m_ReturnDataOffset + returnValue.size()) {
LOG_WARNING("packet ReadString(): Oh no! You are trying to remove things outside my memory kingdom"); LOG_WARNING("packet ReadString(): Oh no! You are trying to remove things outside my memory kingdom");
return "PopFrontString Failed"; return "PopFrontString Failed";
} }
// +1 for null terminator. // +1 for null terminator.
m_ReturnDataOffset += returnValue.size() + 1; m_ReturnDataOffset += returnValue.size() + 1;
return returnValue; return returnValue;
@@ -68,4 +69,4 @@ char * Packet::ReadData(int SizeOfData)
unsigned int oldReturnDataOffset = m_ReturnDataOffset; unsigned int oldReturnDataOffset = m_ReturnDataOffset;
m_ReturnDataOffset += SizeOfData; m_ReturnDataOffset += SizeOfData;
return (m_Data + oldReturnDataOffset); return (m_Data + oldReturnDataOffset);
} }