htc: implement much of worker receive logic

This commit is contained in:
Michael Scire
2021-02-08 14:11:01 -08:00
committed by SciresM
parent 8f85cc17dc
commit 679fec2ddc
19 changed files with 565 additions and 12 deletions

View File

@@ -22,6 +22,7 @@ namespace ams::htclow::mux {
enum EventTrigger : u8 {
EventTrigger_Disconnect = 1,
EventTrigger_ReceiveData = 2,
EventTrigger_ConnectReady = 11,
};
@@ -40,7 +41,7 @@ namespace ams::htclow::mux {
bool has_event_trigger;
EventTrigger event_trigger;
TaskType type;
u64 _38;
size_t size;
};
private:
bool m_valid[MaxTaskCount];
@@ -49,6 +50,7 @@ namespace ams::htclow::mux {
TaskManager() : m_valid() { /* ... */ }
void NotifyDisconnect(impl::ChannelInternalType channel);
void NotifyReceiveData(impl::ChannelInternalType channel, size_t size);
void NotifyConnectReady();
private:
void CompleteTask(int index, EventTrigger trigger);