use memory pool for SSU2 received packets arrays

This commit is contained in:
orignal 2024-09-28 09:49:45 -04:00
parent 64e4b3871a
commit 62b811c2c1
3 changed files with 51 additions and 15 deletions

View file

@ -131,14 +131,22 @@ namespace util
this->Release (t);
}
void ReleaseMt (T * * arr, size_t num)
{
if (!arr || !num) return;
std::lock_guard<std::mutex> l(m_Mutex);
for (size_t i = 0; i < num; i++)
this->Release (arr[i]);
}
template<template<typename, typename...>class C, typename... R>
void ReleaseMt(C<T *, R...>&& c)
void ReleaseMt(const C<T *, R...>& c)
{
std::lock_guard<std::mutex> l(m_Mutex);
for (auto& it: c)
this->Release (it);
}
template<typename... TArgs>
std::shared_ptr<T> AcquireSharedMt (TArgs&&... args)
{