Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
25 lines
474 B
C++
25 lines
474 B
C++
// SPDX-License-Identifier: MIT
|
|
// SPDX-FileCopyrightText: 2026 Martino Ferrari
|
|
|
|
#include "source/data_source.hpp"
|
|
|
|
#include <utility>
|
|
|
|
namespace udpscope {
|
|
|
|
void DataSource::post(Command cmd) {
|
|
std::lock_guard<std::mutex> lk(cmd_mu_);
|
|
cmds_.push_back(std::move(cmd));
|
|
}
|
|
|
|
void DataSource::drain_commands() {
|
|
std::deque<Command> local;
|
|
{
|
|
std::lock_guard<std::mutex> lk(cmd_mu_);
|
|
local.swap(cmds_);
|
|
}
|
|
for (auto& c : local) c();
|
|
}
|
|
|
|
} // namespace udpscope
|