From 7601149f476c1aa3dae6cd55027a36b62efabf12 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 1 Jul 2008 03:24:58 +0200 Subject: RequestManager hinzugef?gt --- src/Net/Packet.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'src/Net') diff --git a/src/Net/Packet.h b/src/Net/Packet.h index c2bd4d1..7ef5cb0 100644 --- a/src/Net/Packet.h +++ b/src/Net/Packet.h @@ -29,73 +29,73 @@ namespace Net { class Packet { public: enum Type { - TYPE_UNKNOWN = 0x0000, TYPE_DEBUG = 0x0001, TYPE_PING = 0x0002, TYPE_PONG = 0x0003, + TYPE_PING = 0x0000, TYPE_PONG = 0x0001, TYPE_DISCONNECT_REQ = 0x0010, TYPE_DISCONNECT_REP = 0x0011 }; - + struct Data { unsigned short type; unsigned short requestId; unsigned long length; unsigned char data[0]; }; - + protected: Data *rawData; - + public: Packet(Type type, unsigned short requestId, const void *data = NULL, unsigned long length = 0) { rawData = (Data*)std::malloc(sizeof(Data)+length); - + rawData->type = type; rawData->requestId = requestId; rawData->length = length; - + if(length) std::memcpy(rawData->data, data, length); } - + Packet(const Packet &p) { rawData = (Data*)std::malloc(p.getRawDataLength()); std::memcpy(rawData, p.rawData, p.getRawDataLength()); } - + Packet& operator=(Packet &p) { if(&p == this) return *this; - + std::free(rawData); - + rawData = (Data*)std::malloc(p.getRawDataLength()); std::memcpy(rawData, p.rawData, p.getRawDataLength()); - + return *this; } - + virtual ~Packet() { std::free(rawData); } - + Type getType() const { return (Type)rawData->type; } - + unsigned short getRequestId() const { return rawData->requestId; } - + unsigned long getLength() const { return rawData->length; } - + const unsigned char* getData() const { return rawData->data; } - + const Data* getRawData() const { return rawData; } - + unsigned long getRawDataLength() const { return sizeof(Data) + rawData->length; } -- cgit v1.2.3