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

42 lines
587 B
C
Raw Normal View History

#pragma once
#include <ehs/Str.h>
#include <ehs/Serializer.h>
namespace ehs
{
class EHC;
class NetSystem;
class NetEnd;
class NetOp
{
private:
friend class NetSystem;
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, NetSystem *sys, Serializer<UInt_64> &payload);
};
}