Packet.cpp 662 B

123456789101112131415161718192021222324252627282930313233
  1. #include "network/Packet.h"
  2. InPacket::InPacket(ENetPacket* packet) : packet(packet), readIndex(0) {
  3. }
  4. bool InPacket::read(void* buffer, unsigned int length) {
  5. if(readIndex + length > packet->dataLength) {
  6. return true;
  7. }
  8. memcpy(buffer, packet->data + readIndex, length);
  9. readIndex += length;
  10. return false;
  11. }
  12. bool InPacket::read(uint8& u) {
  13. return read(&u, sizeof(u));
  14. }
  15. bool InPacket::read(uint16& u) {
  16. if(read(&u, sizeof(u))) {
  17. return true;
  18. }
  19. u = ntohs(u);
  20. return false;
  21. }
  22. bool InPacket::read(uint32& u) {
  23. if(read(&u, sizeof(u))) {
  24. return true;
  25. }
  26. u = ntohl(u);
  27. return false;
  28. }