AuroraRPC/Source/AuRPCRequest.hpp

40 lines
856 B
C++
Raw Normal View History

2022-07-02 22:08:52 +00:00
/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: AuRPCRequest.hpp
Date: 2022-6-29
Author: Reece
***/
#pragma once
struct AuRPCRequest : AuIRPCRequest
{
AuUInt32 serviceId{};
ERPCRequestState state{};
AuUInt32 methodId{};
AuSPtr<AuRPCRequestCallback> callback;
int dataType { kRequestRPC };
2022-07-02 22:08:52 +00:00
AuUInt64 cookie {};
bool SetData(const AuByteBuffer& toRead) override;
bool SetData(const AuMemoryViewRead& view) override;
void SetCallback(const AuSPtr<AuRPCRequestCallback> &callback) override;
2022-07-02 22:08:52 +00:00
bool EmptyRequest() override;
2022-07-02 22:08:52 +00:00
ERPCRequestState GetState();
AuMemoryViewRead GetData();
void WriteDummy();
void WriteHeaderConnect();
void WriteRPCHeader();
AuUInt32 HeaderLength();
private:
AuUInt32 packetLength{};
AuByteBuffer data;
};