Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/src/network/packet/Acknowledgement.cc @ 1705

Last change on this file since 1705 was 1705, checked in by scheusso, 16 years ago

further changes

File size: 1.1 KB
Line 
1#include "Acknowledgement.h"
2#include "Packet.h"
3#include "network/Host.h"
4#include "network/GamestateHandler.h"
5
6namespace network {
7namespace packet {
8
9#define PACKET_FLAGS_ACK    0
10#define _PACKETID           0
11#define _ACKID              _PACKETID + sizeof(network::packet::ENUM::Type)
12 
13Acknowledgement::Acknowledgement( unsigned int id, int clientID )
14 : PacketContent()
15{
16  flags_ = flags_ | PACKET_FLAGS_ACK;
17  data_=new unsigned char[ getSize() ];
18  *(ENUM::Type *)&data_[ _PACKETID ] = ENUM::Acknowledgement;
19  *(unsigned int *)&data_[ _ACKID ] = id;
20  clientID_=clientID;
21}
22
23Acknowledgement::Acknowledgement( unsigned char *data, int clientID )
24  : PacketContent(data, clientID)
25{
26  clientID_=clientID;
27}
28
29Acknowledgement::~Acknowledgement()
30{
31}
32
33unsigned char *Acknowledgement::getData(){
34  return data_;
35}
36
37unsigned int Acknowledgement::getSize() const{
38  return _ACKID + sizeof(unsigned int);
39}
40
41bool Acknowledgement::process(){
42  return GamestateHandler::ackGamestate(data_[_ACKID], clientID_);
43}
44
45unsigned int Acknowledgement::getAckID(){
46  return *(unsigned int *)&data_[ _ACKID ];
47}
48
49} //namespace packet
50} //namespace network
Note: See TracBrowser for help on using the repository browser.