Moonlight-XboxOG latest
Moonlight Xbox OG is a port of the Moonlight Game Streaming client to the original Xbox console.
ui::HostProbeResultQueue Class Reference

Thread-safe queue used to publish per-host probe results back to the shell loop. More...

#include <src/ui/host_probe_result_queue.h>

Public Member Functions

 HostProbeResultQueue ()=default
 Construct an empty probe result queue.
 

Friends

void begin_host_probe_result_round (HostProbeResultQueue *queue, std::size_t targetCount)
 Start a fresh probe round with a known number of expected results.
 
std::vector< HostProbeResultdrain_host_probe_results (HostProbeResultQueue *queue)
 Drain every probe result currently waiting in the queue.
 
bool host_probe_result_round_complete (const HostProbeResultQueue &queue)
 Return whether the active probe round has published every expected result.
 
void publish_host_probe_result (HostProbeResultQueue *queue, HostProbeResult result)
 Publish one completed host probe into the queue.
 
void reset_host_probe_result_queue (HostProbeResultQueue *queue)
 Reset the queued probe results and counters for a queue.
 
void skip_host_probe_result_target (HostProbeResultQueue *queue)
 Remove one expected result from the active probe round.
 

Detailed Description

Thread-safe queue used to publish per-host probe results back to the shell loop.

Friends And Related Symbol Documentation

◆ begin_host_probe_result_round

void begin_host_probe_result_round ( HostProbeResultQueue * queue,
std::size_t targetCount )
friend

Start a fresh probe round with a known number of expected results.

Parameters
queueQueue that will receive probe results.
targetCountNumber of probe results expected for the new round.

◆ drain_host_probe_results

std::vector< HostProbeResult > drain_host_probe_results ( HostProbeResultQueue * queue)
friend

Drain every probe result currently waiting in the queue.

Parameters
queueQueue whose pending results should be removed.
Returns
Completed probe results published since the previous drain.

◆ host_probe_result_round_complete

bool host_probe_result_round_complete ( const HostProbeResultQueue & queue)
friend

Return whether the active probe round has published every expected result.

Parameters
queueQueue to inspect.
Returns
True when the current round has received every expected result.

◆ publish_host_probe_result

void publish_host_probe_result ( HostProbeResultQueue * queue,
HostProbeResult result )
friend

Publish one completed host probe into the queue.

Parameters
queueQueue that receives the probe result.
resultCompleted host probe to append.

◆ reset_host_probe_result_queue

void reset_host_probe_result_queue ( HostProbeResultQueue * queue)
friend

Reset the queued probe results and counters for a queue.

Parameters
queueQueue to clear.

◆ skip_host_probe_result_target

void skip_host_probe_result_target ( HostProbeResultQueue * queue)
friend

Remove one expected result from the active probe round.

Use this when a planned probe worker could not be launched and therefore will never publish a result.

Parameters
queueQueue whose expected result count should be reduced.

The documentation for this class was generated from the following file: