/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IProtocolStack.hpp Date: 2022-8-24 Author: Reece ***/ #pragma once namespace Aurora::IO::Protocol { struct IProtocolStack : IProtocolBaseReader, IProtocolBaseWriter { virtual bool AddInterceptor(const AuSPtr &pInterceptor, AuUInt uOutputBufferSize) = 0; virtual bool AddInterceptorEx(const AuSPtr &pInterceptor, AuUInt uOutputBufferSize) = 0; virtual void DoTick() = 0; virtual void Destroy() = 0; }; AUKN_SYM AuSPtr NewBufferedProtocolStack(AuUInt uLength); }