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;
|
2023-12-16 18:16:32 +00:00
|
|
|
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;
|
|
|
|
|
2023-12-16 18:16:32 +00:00
|
|
|
void SetCallback(const AuSPtr<AuRPCRequestCallback> &callback) override;
|
2022-07-02 22:08:52 +00:00
|
|
|
|
2022-07-07 04:16:27 +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;
|
|
|
|
};
|
|
|
|
|