mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-07 06:09:42 +00:00
memory pool for SSU messages and fragments
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user