/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IAsyncFileStream.hpp Date: 2022-2-14 Author: Reece ***/ #pragma once namespace Aurora::IO::FS { struct IAsyncTransaction; struct IAsyncFileStream { virtual AuSPtr NewTransaction() = 0; virtual bool BlockingTruncate(AuUInt64 length) = 0; virtual bool BlockingRead(AuUInt64 offset, const Memory::MemoryViewStreamWrite ¶meters) = 0; virtual bool BlockingWrite(AuUInt64 offset, const Memory::MemoryViewStreamRead ¶meters) = 0; }; }