/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IIOBufferedProcessor.hpp Date: 2022-6-6 Author: Reece ***/ #pragma once namespace Aurora::IO { struct IIOBufferedProcessor { virtual AuUInt32 TryProcessBuffered() = 0; virtual AuUInt32 GetRawBytesBuffered() = 0; virtual AuUInt32 GetRawBytesLimit() = 0; }; /** * @brief * @param source * @param processor * @param drain * @param bufferSize * @deprecated by Aurora::IO::Protocol (tobe AuProtocol:: and AuIOProtocol::) * @return */ AUKN_SYM AuSPtr NewBufferedProcessor(const AuSPtr &pSource, const AuSPtr &pProcessor, const AuSPtr &pDrain, // TODO: share IOPipeCallback AuUInt32 uBufferSize); }