| 228 | } |
| 229 | |
| 230 | UCharBuffer* Manager::getBuffer() |
| 231 | { |
| 232 | MutexLockGuard guard(m_buffersMutex, FB_FUNCTION); |
| 233 | |
| 234 | const auto buffer = m_buffers.hasData() ? |
| 235 | m_buffers.pop() : FB_NEW_POOL(getPool()) UCharBuffer(getPool()); |
| 236 | |
| 237 | fb_assert(buffer->isEmpty()); |
| 238 | buffer->resize(sizeof(Block)); |
| 239 | return buffer; |
| 240 | } |
| 241 | |
| 242 | void Manager::releaseBuffer(UCharBuffer* buffer) |
| 243 | { |