Struct RemoteAccessGatewayCallbacks

Struct Documentation

struct RemoteAccessGatewayCallbacks

Callback interface for the remote access gateway.

These methods are invoked from time-sensitive contexts and must not block.

Note

These callbacks may be invoked concurrently from multiple threads. You must synchronize access to your mutable internal state or shared resources.

Public Members

std::function<void(RemoteAccessConnectionStatus status)> onConnectionStatusChanged

Callback invoked when the gateway connection status changes.

std::function<void(uint32_t client_id, const ChannelDescriptor &channel)> onSubscribe

Callback invoked when a remote client subscribes to a channel.

std::function<void(uint32_t client_id, const ChannelDescriptor &channel)> onUnsubscribe

Callback invoked when a remote client unsubscribes from a channel or disconnects. Also invoked when a subscribed channel is removed from the Context.

std::function<void(uint32_t client_id, const ChannelDescriptor &channel, const std::byte *data, size_t data_len)> onMessageData

Callback invoked when a client message is received.

std::function<void(uint32_t client_id, const ChannelDescriptor &channel)> onClientAdvertise

Callback invoked when a client advertises a channel.

std::function<void(uint32_t client_id, const ChannelDescriptor &channel)> onClientUnadvertise

Callback invoked when a client unadvertises a channel.

std::function<std::vector<Parameter>(uint32_t client_id, std::optional<std::string_view> request_id, const std::vector<std::string_view> &param_names)> onGetParameters

Callback invoked when a client requests parameters.

Requires RemoteAccessGatewayCapabilities::Parameters.

std::function<std::vector<Parameter>(uint32_t client_id, std::optional<std::string_view> request_id, const std::vector<ParameterView> &params)> onSetParameters

Callback invoked when a client sets parameters.

Requires RemoteAccessGatewayCapabilities::Parameters.

std::function<void(const std::vector<std::string_view> &param_names)> onParametersSubscribe

Callback invoked when a client subscribes to parameters for the first time.

Requires RemoteAccessGatewayCapabilities::Parameters.

std::function<void(const std::vector<std::string_view> &param_names)> onParametersUnsubscribe

Callback invoked when the last client unsubscribes from parameters.

Requires RemoteAccessGatewayCapabilities::Parameters.

std::function<void()> onConnectionGraphSubscribe

Callback invoked when the first client subscribes to connection graph updates.

Requires RemoteAccessGatewayCapabilities::ConnectionGraph.

Warning

Do not call publishConnectionGraph from within this callback; doing so will deadlock.

std::function<void()> onConnectionGraphUnsubscribe

Callback invoked when the last client unsubscribes from connection graph updates.

Requires RemoteAccessGatewayCapabilities::ConnectionGraph.

Warning

Do not call publishConnectionGraph from within this callback; doing so will deadlock.