2022-06-11 23:01:27 +00:00
|
|
|
/***
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
|
|
|
AUKN_SYM AuSPtr<IIOBufferedProcessor> NewBufferedProcessor(const AuSPtr<IStreamReader> &source,
|
|
|
|
const AuSPtr<IIOPipeInterceptor> &processor,
|
2022-06-21 04:49:36 +00:00
|
|
|
const AuSPtr<IStreamWriter> &drain, // TODO: share IOPipeCallback
|
2022-06-11 23:01:27 +00:00
|
|
|
AuUInt32 bufferSize);
|
|
|
|
}
|