EHS/include/ehs/io/socket/Fragments.h

43 lines
628 B
C++

#pragma once
#include "ehs/EHS.h"
#include "ehs/Serializer.h"
#include "Utils.h"
namespace ehs
{
class Fragments
{
private:
Header header;
Serializer<>* data;
UInt_64 size;
public:
~Fragments();
Fragments();
Fragments(const Header& header, const Serializer<>& payload);
Fragments(const Header& header, const UInt_64 size);
Fragments(const Fragments& frags);
Fragments& operator=(const Fragments& frags);
operator const Serializer<>* () const;
operator Serializer<>* ();
Header GetHeader() const;
UInt_64 Size() const;
bool IsComplete() const;
Packet Combine() const;
};
}