htc: Implement RpcClient::ReceiveThread + SendThread

This commit is contained in:
Michael Scire authored and SciresM committed 2021-02-24 04:06:54 -08:00
1 parent d60b1abed0
commit 3be005b638
6 files changed
+157 -10

No files matched your search

@@ -43,14 +43,14 @@ namespace ams::htc::server::rpc {
bool m_thread_running;
os::EventType m_receive_buffer_available_events[MaxRpcCount];
os::EventType m_send_buffer_available_events[MaxRpcCount];
u8 m_receive_buffer[BufferSize];
u8 m_send_buffer[BufferSize];
char m_receive_buffer[BufferSize];
char m_send_buffer[BufferSize];
private:
static void ReceiveThreadEntry(void *arg) { static_cast<RpcClient *>(arg)->ReceiveThread(); }
static void SendThreadEntry(void *arg) { static_cast<RpcClient *>(arg)->SendThread(); }
void ReceiveThread();
void SendThread();
Result ReceiveThread();
Result SendThread();
public:
RpcClient(driver::IDriver *driver, htclow::ChannelId channel);
public:
@@ -62,6 +62,10 @@ namespace ams::htc::server::rpc {
void Wait();
int WaitAny(htclow::ChannelState state, os::EventType *event);
private:
Result ReceiveHeader(RpcPacket *header);
Result ReceiveBody(char *dst, size_t size);
Result SendRequest(const char *src, size_t size);
};
}