47 mutable std::mutex mutex_;
48 std::size_t targetCount_ = 0U;
49 std::size_t publishedCount_ = 0U;
50 std::vector<HostProbeResult> pendingResults_;
Thread-safe queue used to publish per-host probe results back to the shell loop.
Definition host_probe_result_queue.h:32
friend std::vector< HostProbeResult > drain_host_probe_results(HostProbeResultQueue *queue)
Drain every probe result currently waiting in the queue.
Definition host_probe_result_queue.cpp:56
friend void publish_host_probe_result(HostProbeResultQueue *queue, HostProbeResult result)
Publish one completed host probe into the queue.
Definition host_probe_result_queue.cpp:35
friend bool host_probe_result_round_complete(const HostProbeResultQueue &queue)
Return whether the active probe round has published every expected result.
Definition host_probe_result_queue.cpp:67
friend void begin_host_probe_result_round(HostProbeResultQueue *queue, std::size_t targetCount)
Start a fresh probe round with a known number of expected results.
Definition host_probe_result_queue.cpp:24
HostProbeResultQueue()=default
Construct an empty probe result queue.
friend void skip_host_probe_result_target(HostProbeResultQueue *queue)
Remove one expected result from the active probe round.
Definition host_probe_result_queue.cpp:45
friend void reset_host_probe_result_queue(HostProbeResultQueue *queue)
Reset the queued probe results and counters for a queue.
Definition host_probe_result_queue.cpp:13
Declares host pairing helpers.
void begin_host_probe_result_round(HostProbeResultQueue *queue, std::size_t targetCount)
Start a fresh probe round with a known number of expected results.
Definition host_probe_result_queue.cpp:24
void reset_host_probe_result_queue(HostProbeResultQueue *queue)
Reset the queued probe results and counters for a queue.
Definition host_probe_result_queue.cpp:13
bool host_probe_result_round_complete(const HostProbeResultQueue &queue)
Return whether the active probe round has published every expected result.
Definition host_probe_result_queue.cpp:67
void skip_host_probe_result_target(HostProbeResultQueue *queue)
Remove one expected result from the active probe round.
Definition host_probe_result_queue.cpp:45
void publish_host_probe_result(HostProbeResultQueue *queue, HostProbeResult result)
Publish one completed host probe into the queue.
Definition host_probe_result_queue.cpp:35
std::vector< HostProbeResult > drain_host_probe_results(HostProbeResultQueue *queue)
Drain every probe result currently waiting in the queue.
Definition host_probe_result_queue.cpp:56
Parsed host status fields used by browsing and pairing flows.
Definition host_pairing.h:29
One completed saved-host reachability probe.
Definition host_probe_result_queue.h:22
std::string address
Saved host address that was probed.
Definition host_probe_result_queue.h:23
network::HostPairingServerInfo serverInfo
Parsed host status returned by the probe when available.
Definition host_probe_result_queue.h:26
uint16_t port
Effective host port used for the probe.
Definition host_probe_result_queue.h:24
bool success
True when the host responded to the probe.
Definition host_probe_result_queue.h:25