/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: AuNetWriteQueue.hpp
Date: 2022-8-21
Author: Reece
***/
#pragma once
namespace Aurora::IO::Net
{
struct SocketBase;
struct NetWriteQueue
bool Push(const AuSPtr<AuMemoryViewRead> &read);
void NotifyBytesWritten(AuUInt written);
AuSPtr<AuMemoryViewRead> Dequeue();
bool IsEmpty();
SocketBase *pBase {};
private:
AuList<AuTuple<AuUInt, AuSPtr<AuMemoryViewRead>>> views_;
AuMemoryViewRead current_;
};
}