mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-30 04:37:50 +02:00
memory pool for SSU messages and fragments
This commit is contained in:
parent
5e2e1a1e3d
commit
e054c6e82c
6 changed files with 41 additions and 21 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2020, The PurpleI2P Project
|
||||
* Copyright (c) 2013-2021, The PurpleI2P Project
|
||||
*
|
||||
* This file is part of Purple i2pd project and licensed under BSD3
|
||||
*
|
||||
|
@ -50,6 +50,11 @@ namespace util
|
|||
|
||||
MemoryPool (): m_Head (nullptr) {}
|
||||
~MemoryPool ()
|
||||
{
|
||||
CleanUp ();
|
||||
}
|
||||
|
||||
void CleanUp ()
|
||||
{
|
||||
while (m_Head)
|
||||
{
|
||||
|
@ -57,8 +62,8 @@ namespace util
|
|||
m_Head = static_cast<T*>(*(void * *)m_Head); // next
|
||||
::operator delete ((void *)tmp);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
template<typename... TArgs>
|
||||
T * Acquire (TArgs&&... args)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue