Moonlight-XboxOG latest
Moonlight Xbox OG is a port of the Moonlight Game Streaming client to the original Xbox console.
host_probe_result_queue.cpp File Reference

Implements queued host probe results. More...

#include "src/ui/host_probe_result_queue.h"
#include <utility>
Include dependency graph for host_probe_result_queue.cpp:

Functions

void ui::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< HostProbeResultui::drain_host_probe_results (HostProbeResultQueue *queue)
 Drain every probe result currently waiting in the queue.
 
bool ui::host_probe_result_round_complete (const HostProbeResultQueue &queue)
 Return whether the active probe round has published every expected result.
 
void ui::publish_host_probe_result (HostProbeResultQueue *queue, HostProbeResult result)
 Publish one completed host probe into the queue.
 
void ui::reset_host_probe_result_queue (HostProbeResultQueue *queue)
 Reset the queued probe results and counters for a queue.
 
void ui::skip_host_probe_result_target (HostProbeResultQueue *queue)
 Remove one expected result from the active probe round.
 

Detailed Description

Implements queued host probe results.

Function Documentation

◆ begin_host_probe_result_round()

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

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 > ui::drain_host_probe_results ( HostProbeResultQueue * queue)

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 ui::host_probe_result_round_complete ( const HostProbeResultQueue & queue)

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 ui::publish_host_probe_result ( HostProbeResultQueue * queue,
HostProbeResult result )

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 ui::reset_host_probe_result_queue ( HostProbeResultQueue * queue)

Reset the queued probe results and counters for a queue.

Parameters
queueQueue to clear.

◆ skip_host_probe_result_target()

void ui::skip_host_probe_result_target ( HostProbeResultQueue * queue)

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.