Branch data Line data Source code
1 : : #include "FFBDebugBuffer.h"
2 : :
3 : 464 : FFBDebugBuffer::FFBDebugBuffer(size_t capacity) : m_capacity(capacity) {}
4 : :
5 : 15838 : void FFBDebugBuffer::Push(const FFBSnapshot& snap) {
6 [ + - ]: 15838 : std::lock_guard<std::mutex> lock(m_mutex);
7 [ + + ]: 15838 : if (m_buffer.size() >= m_capacity) {
8 : 8731 : return;
9 : : }
10 [ + - ]: 7107 : m_buffer.push_back(snap);
11 [ + + ]: 15838 : }
12 : :
13 : 141 : std::vector<FFBSnapshot> FFBDebugBuffer::GetBatch() {
14 [ + - ]: 141 : std::lock_guard<std::mutex> lock(m_mutex);
15 : 141 : std::vector<FFBSnapshot> batch = std::move(m_buffer);
16 : 141 : m_buffer.clear();
17 : 282 : return batch;
18 : 141 : }
19 : :
20 : 0 : size_t FFBDebugBuffer::Size() const {
21 [ # # ]: 0 : std::lock_guard<std::mutex> lock(m_mutex);
22 : 0 : return m_buffer.size();
23 : 0 : }
|