AuroraRPC/Source/AuRPCRequest.hpp
Jamie Reece Wilson aa7591967a [+] Broadcasts and client/server messages
[+] Async responses
[+] AuRPC::SetRecommendedPipeLength
2023-12-16 18:16:32 +00:00

40 lines
856 B
C++

/***
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 };
AuUInt64 cookie {};
bool SetData(const AuByteBuffer& toRead) override;
bool SetData(const AuMemoryViewRead& view) override;
void SetCallback(const AuSPtr<AuRPCRequestCallback> &callback) override;
bool EmptyRequest() override;
ERPCRequestState GetState();
AuMemoryViewRead GetData();
void WriteDummy();
void WriteHeaderConnect();
void WriteRPCHeader();
AuUInt32 HeaderLength();
private:
AuUInt32 packetLength{};
AuByteBuffer data;
};