/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: NetworkingPool.hpp Date: 2022-2-1 Author: Reece ***/ #pragma once namespace Aurora::IO::Net { struct NetworkingPool : INetworkingPool { // A: AuUInt32 Pump(AuUInt8 workerId) override; // B: AuUInt32 PumpRead(AuUInt8 workerId) override; AuUInt32 PumpWrite(AuUInt8 workerId) override; // C: AuUInt32 PollWorker(AuUInt8 workerId) override; AuUInt32 RunWorker(AuUInt8 workerId, AuUInt32 timeout) override; // D: bool BeginReadPollingOnWorkQueues(const WorkPoolGroup &workGroup) override; bool BeginSubmissionsOnOnWorkQueues(const WorkPoolGroup &workGroup) override; void StopPollingOnWorkQueues() override; // E: AuUInt8 GetWorkers() override; AuSPtr GetNetworkInterface() override; void Shutdown() override; }; }