Monado OpenXR Runtime
ipc_server Struct Reference

Main IPC object for the server. More...

#include </builds/monado/monado/src/xrt/ipc/server/ipc_server.h>

Collaboration diagram for ipc_server:

Public Member Functions

void ipc_server_handle_client_connected (struct ipc_server *vs, xrt_ipc_handle_t ipc_handle)
 Called when a client has connected, it takes the client's ipc handle. More...
 
void ipc_server_handle_failure (struct ipc_server *vs)
 Perform whatever needs to be done when the mainloop polling encounters a failure. More...
 
void ipc_server_handle_shutdown_signal (struct ipc_server *vs)
 Perform whatever needs to be done when the mainloop polling identifies that the server should be shut down. More...
 
int ipc_server_stop (struct ipc_server *s)
 Asks the server to shut down, this call is asynchronous and will return immediately. More...
 

Data Fields

struct xrt_instancexinst
 
struct u_processprocess
 Handle for the current process, e.g. pidfile on linux. More...
 
struct u_debug_gui * debug_gui
 
struct xrt_systemxsys
 The XRT interfaces level system. More...
 
struct xrt_system_devicesxsysd
 System devices. More...
 
struct xrt_space_overseerxso
 Space overseer. More...
 
struct xrt_system_compositorxsysc
 System compositor. More...
 
struct ipc_device idevs [XRT_SYSTEM_MAX_DEVICES]
 
struct xrt_tracking_originxtracks [XRT_SYSTEM_MAX_DEVICES]
 
struct ipc_shared_memoryisms [IPC_MAX_CLIENTS]
 
struct ipc_server_mainloop ml
 
volatile bool running
 
bool exit_on_disconnect
 
bool exit_when_idle
 
uint64_t last_client_disconnect_ns
 
uint64_t exit_when_idle_delay_ns
 
enum u_logging_level log_level
 
struct ipc_thread threads [IPC_MAX_CLIENTS]
 
volatile uint32_t current_slot_index
 
uint32_t id_generator
 Generator for IDs. More...
 
struct {
   int   active_client_index
 
   int   last_active_client_index
 
   uint32_t   connected_client_count
 
   struct os_mutex   lock
 
global_state
 
const struct ipc_server_callbackscallbacks
 Callbacks for server events. More...
 
void * callback_data
 User data passed to callbacks. More...
 
bool no_stdin
 Disable listening on stdin for server stop. More...
 

Detailed Description

Main IPC object for the server.

Member Function Documentation

◆ ipc_server_stop()

int ipc_server_stop ( struct ipc_server s)

Asks the server to shut down, this call is asynchronous and will return immediately.

Use callbacks to be notified when the server stops.

Field Documentation

◆ callback_data

void* ipc_server::callback_data

User data passed to callbacks.

◆ callbacks

const struct ipc_server_callbacks* ipc_server::callbacks

Callbacks for server events.

◆ id_generator

uint32_t ipc_server::id_generator

Generator for IDs.

◆ no_stdin

bool ipc_server::no_stdin

Disable listening on stdin for server stop.

◆ process

struct u_process* ipc_server::process

Handle for the current process, e.g. pidfile on linux.

◆ xso

struct xrt_space_overseer* ipc_server::xso

Space overseer.

◆ xsys

struct xrt_system* ipc_server::xsys

◆ xsysc

struct xrt_system_compositor* ipc_server::xsysc

System compositor.

◆ xsysd

struct xrt_system_devices* ipc_server::xsysd

System devices.


The documentation for this struct was generated from the following files: