mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-28 11:47:48 +02:00
use SendBufferQueue for queued messages from I2P
This commit is contained in:
parent
ff971563db
commit
746f53ba07
4 changed files with 75 additions and 67 deletions
|
@ -21,10 +21,18 @@ namespace stream
|
|||
{
|
||||
void SendBufferQueue::Add (const uint8_t * buf, size_t len, SendHandler handler)
|
||||
{
|
||||
m_Buffers.push_back (std::make_shared<SendBuffer>(buf, len, handler));
|
||||
m_Size += len;
|
||||
Add (std::make_shared<SendBuffer>(buf, len, handler));
|
||||
}
|
||||
|
||||
void SendBufferQueue::Add (std::shared_ptr<SendBuffer> buf)
|
||||
{
|
||||
if (buf)
|
||||
{
|
||||
m_Buffers.push_back (buf);
|
||||
m_Size += buf->len;
|
||||
}
|
||||
}
|
||||
|
||||
size_t SendBufferQueue::Get (uint8_t * buf, size_t len)
|
||||
{
|
||||
size_t offset = 0;
|
||||
|
|
|
@ -111,6 +111,11 @@ namespace stream
|
|||
buf = new uint8_t[len];
|
||||
memcpy (buf, b, len);
|
||||
}
|
||||
SendBuffer (size_t l): // creat empty buffer
|
||||
len(l), offset (0)
|
||||
{
|
||||
buf = new uint8_t[len];
|
||||
}
|
||||
~SendBuffer ()
|
||||
{
|
||||
delete[] buf;
|
||||
|
@ -129,6 +134,7 @@ namespace stream
|
|||
~SendBufferQueue () { CleanUp (); };
|
||||
|
||||
void Add (const uint8_t * buf, size_t len, SendHandler handler);
|
||||
void Add (std::shared_ptr<SendBuffer> buf);
|
||||
size_t Get (uint8_t * buf, size_t len);
|
||||
size_t GetSize () const { return m_Size; };
|
||||
bool IsEmpty () const { return m_Buffers.empty (); };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue