/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IOPipeInputData.hpp Date: 2022-6-20 Author: Reece ***/ #pragma once namespace Aurora::IO { struct IIOWaitableItem; struct IOPipeInputData { /** * @brief IO trigger */ AuSPtr pWatchItem; /** * @brief Input source */ AuSPtr pReader; /** * @brief Callbacks */ AuSPtr pBackend; /** * @brief Enables aggressive stream consumption, allowing for bias towards clients if they were to send a lot of data (including dos) * Instead of reading the input stream once, so long as the output stream written paremeter yields a non-zero number, bytes * will continue to pump through the writer. Breakdown of the pipe is expected on reader oversaturation as defined by the * IOPipeRequest */ bool bShouldReadUntilZero {}; }; }