diff --git a/bakanet/src/bakanet/core/packet.h b/bakanet/src/bakanet/core/packet.h deleted file mode 100755 index 9e65d58..0000000 --- a/bakanet/src/bakanet/core/packet.h +++ /dev/null @@ -1,58 +0,0 @@ -#pragma once - -namespace Bk::Net { - class Packet - { - public: - Packet() = default; - Packet(std::vector data) - : payload(data) {} - - int size() { return payload.size(); } - - template - void push(const T& data) - { - static_assert(std::is_standard_layout::value, "Data is too complex to be pushed into vector"); - size_t i = payload.size(); - payload.resize(i + sizeof(T)); - std::memcpy(payload.data() + i, &data, sizeof(T)); - } - - template - void push(const T* data, int size) - { - for(int i = 0; i < size; i++) push(data[i]); - } - - template - T pull() - { - static_assert(std::is_standard_layout::value, "Data is too complex to be pulled from vector"); - T data; - size_t i = payload.size() - sizeof(T); - std::memcpy(&data, payload.data() + i, sizeof(T)); - payload.resize(i); - return data; - } - - template - std::unique_ptr pull(int size) - { - std::unique_ptr data(new T[size]); - for(int i = size - 1; i >= 0; i--) data[i] = pull(); - return data; - } - - bool append_data(std::vector data) - { - if (!data.size()) return false; - size_t i = payload.size(); - payload.resize(i + data.size()); - std::memcpy(payload.data() + i, data.data(), sizeof(char) * data.size()); - return true; - } - - std::vector payload; - }; -} \ No newline at end of file