EHS/include/ehs/io/socket/ehc/NetOp.h

42 lines
578 B
C++

#pragma once
#include "ehs/Str.h"
#include "ehs/Serializer.h"
namespace ehs
{
class EHC;
class NetSys;
class NetEnd;
class NetOp
{
private:
friend class NetSys;
UInt_64 hashId;
Str_8 id;
public:
virtual ~NetOp() = default;
NetOp();
NetOp(Str_8 id);
NetOp(NetOp &&op) noexcept;
NetOp(const NetOp &op);
NetOp &operator=(NetOp &&op) noexcept;
NetOp &operator=(const NetOp &op);
Str_8 GetId() const;
UInt_64 GetHashId() const;
private:
virtual void Process(EHC *ehc, NetEnd *endpoint, NetSys *sys, Serializer<UInt_64> &payload);
};
}