Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
foxglove::Server< ServerConfiguration > Class Template Referencefinal

#include <websocket_server.hpp>

Inheritance diagram for foxglove::Server< ServerConfiguration >:
Inheritance graph
[legend]

Classes

struct  ClientInfo
 

Public Types

using ConnectionType = websocketpp::connection< ServerConfiguration >
 
using MessagePtr = typename ServerType::message_ptr
 
using ServerType = websocketpp::server< ServerConfiguration >
 
using Tcp = websocketpp::lib::asio::ip::tcp
 

Public Member Functions

std::vector< ChannelIdaddChannels (const std::vector< ChannelWithoutId > &channels) override
 
std::vector< ServiceIdaddServices (const std::vector< ServiceWithoutId > &services) override
 
void broadcastTime (uint64_t timestamp) override
 
uint16_t getPort () override
 
Serveroperator= (const Server &)=delete
 
Serveroperator= (Server &&)=delete
 
void publishParameterValues (ConnHandle clientHandle, const std::vector< Parameter > &parameters, const std::optional< std::string > &requestId=std::nullopt) override
 
std::string remoteEndpointString (ConnHandle clientHandle) override
 
void removeChannels (const std::vector< ChannelId > &channelIds) override
 
void removeServices (const std::vector< ServiceId > &serviceIds) override
 
void sendFetchAssetResponse (ConnHandle clientHandle, const FetchAssetResponse &response) override
 
void sendMessage (ConnHandle clientHandle, ChannelId chanId, uint64_t timestamp, const uint8_t *payload, size_t payloadSize) override
 
void sendServiceFailure (ConnHandle clientHandle, ServiceId serviceId, uint32_t callId, const std::string &message) override
 
void sendServiceResponse (ConnHandle clientHandle, const ServiceResponse &response) override
 
 Server (const Server &)=delete
 
 Server (Server &&)=delete
 
 Server (std::string name, LogCallback logger, const ServerOptions &options)
 
void setHandlers (ServerHandlers< ConnHandle > &&handlers) override
 
void start (const std::string &host, uint16_t port) override
 
void stop () override
 
void updateConnectionGraph (const MapOfSets &publishedTopics, const MapOfSets &subscribedTopics, const MapOfSets &advertisedServices) override
 
void updateParameterValues (const std::vector< Parameter > &parameters) override
 
virtual ~Server ()
 
- Public Member Functions inherited from foxglove::ServerInterface< ConnHandle >
virtual ~ServerInterface ()
 

Private Member Functions

void handleAdvertise (const nlohmann::json &payload, ConnHandle hdl)
 
void handleBinaryMessage (ConnHandle hdl, MessagePtr msg)
 
void handleConnectionClosed (ConnHandle hdl)
 
void handleConnectionOpened (ConnHandle hdl)
 
void handleFetchAsset (const nlohmann::json &payload, ConnHandle hdl)
 
void handleGetParameters (const nlohmann::json &payload, ConnHandle hdl)
 
void handleMessage (ConnHandle hdl, MessagePtr msg)
 
void handleSetParameters (const nlohmann::json &payload, ConnHandle hdl)
 
void handleSubscribe (const nlohmann::json &payload, ConnHandle hdl)
 
void handleSubscribeConnectionGraph (ConnHandle hdl)
 
void handleSubscribeParameterUpdates (const nlohmann::json &payload, ConnHandle hdl)
 
void handleTextMessage (ConnHandle hdl, MessagePtr msg)
 
void handleUnadvertise (const nlohmann::json &payload, ConnHandle hdl)
 
void handleUnsubscribe (const nlohmann::json &payload, ConnHandle hdl)
 
void handleUnsubscribeConnectionGraph (ConnHandle hdl)
 
void handleUnsubscribeParameterUpdates (const nlohmann::json &payload, ConnHandle hdl)
 
bool hasCapability (const std::string &capability) const
 
bool hasHandler (uint32_t op) const
 
bool isParameterSubscribed (const std::string &paramName) const
 
void sendBinary (ConnHandle hdl, const uint8_t *payload, size_t payloadSize)
 
void sendJson (ConnHandle hdl, json &&payload)
 
void sendJsonRaw (ConnHandle hdl, const std::string &payload)
 
void sendStatusAndLogMsg (ConnHandle clientHandle, const StatusLevel level, const std::string &message)
 
void setupTlsHandler ()
 
void setupTlsHandler ()
 
void setupTlsHandler ()
 
void socketInit (ConnHandle hdl)
 
void unsubscribeParamsWithoutSubscriptions (ConnHandle hdl, const std::unordered_set< std::string > &paramNames)
 
bool validateConnection (ConnHandle hdl)
 

Private Attributes

std::unordered_map< ChannelId, Channel_channels
 
std::shared_mutex _channelsMutex
 
std::map< ConnHandle, std::unordered_map< ClientChannelId, ClientAdvertisement >, std::owner_less<> > _clientChannels
 
std::shared_mutex _clientChannelsMutex
 
std::map< ConnHandle, std::unordered_set< std::string >, std::owner_less<> > _clientParamSubscriptions
 
std::mutex _clientParamSubscriptionsMutex
 
std::map< ConnHandle, ClientInfo, std::owner_less<> > _clients
 
std::shared_mutex _clientsMutex
 
struct {
   MapOfSets   advertisedServices
 
   MapOfSets   publishedTopics
 
   MapOfSets   subscribedTopics
 
   int   subscriptionCount = 0
 
_connectionGraph
 
std::shared_mutex _connectionGraphMutex
 
std::unique_ptr< CallbackQueue_handlerCallbackQueue
 
ServerHandlers< ConnHandle_handlers
 
LogCallback _logger
 
std::string _name
 
uint32_t _nextChannelId = 0
 
ServiceId _nextServiceId = 0
 
ServerOptions _options
 
ServerType _server
 
std::unique_ptr< std::thread > _serverThread
 
std::unordered_map< ServiceId, ServiceWithoutId_services
 
std::shared_mutex _servicesMutex
 

Detailed Description

template<typename ServerConfiguration>
class foxglove::Server< ServerConfiguration >

Definition at line 116 of file websocket_server.hpp.

Member Typedef Documentation

◆ ConnectionType

template<typename ServerConfiguration >
using foxglove::Server< ServerConfiguration >::ConnectionType = websocketpp::connection<ServerConfiguration>

Definition at line 119 of file websocket_server.hpp.

◆ MessagePtr

template<typename ServerConfiguration >
using foxglove::Server< ServerConfiguration >::MessagePtr = typename ServerType::message_ptr

Definition at line 120 of file websocket_server.hpp.

◆ ServerType

template<typename ServerConfiguration >
using foxglove::Server< ServerConfiguration >::ServerType = websocketpp::server<ServerConfiguration>

Definition at line 118 of file websocket_server.hpp.

◆ Tcp

template<typename ServerConfiguration >
using foxglove::Server< ServerConfiguration >::Tcp = websocketpp::lib::asio::ip::tcp

Definition at line 121 of file websocket_server.hpp.

Constructor & Destructor Documentation

◆ Server() [1/3]

template<typename ServerConfiguration >
foxglove::Server< ServerConfiguration >::Server ( std::string  name,
LogCallback  logger,
const ServerOptions options 
)
inlineexplicit

Definition at line 240 of file websocket_server.hpp.

◆ ~Server()

template<typename ServerConfiguration >
foxglove::Server< ServerConfiguration >::~Server
inlinevirtual

Definition at line 279 of file websocket_server.hpp.

◆ Server() [2/3]

template<typename ServerConfiguration >
foxglove::Server< ServerConfiguration >::Server ( const Server< ServerConfiguration > &  )
delete

◆ Server() [3/3]

template<typename ServerConfiguration >
foxglove::Server< ServerConfiguration >::Server ( Server< ServerConfiguration > &&  )
delete

Member Function Documentation

◆ addChannels()

template<typename ServerConfiguration >
std::vector< ChannelId > foxglove::Server< ServerConfiguration >::addChannels ( const std::vector< ChannelWithoutId > &  channels)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 812 of file websocket_server.hpp.

◆ addServices()

template<typename ServerConfiguration >
std::vector< ServiceId > foxglove::Server< ServerConfiguration >::addServices ( const std::vector< ServiceWithoutId > &  services)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 909 of file websocket_server.hpp.

◆ broadcastTime()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::broadcastTime ( uint64_t  timestamp)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1008 of file websocket_server.hpp.

◆ getPort()

template<typename ServerConfiguration >
uint16_t foxglove::Server< ServerConfiguration >::getPort
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1030 of file websocket_server.hpp.

◆ handleAdvertise()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleAdvertise ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1283 of file websocket_server.hpp.

◆ handleBinaryMessage()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleBinaryMessage ( ConnHandle  hdl,
MessagePtr  msg 
)
inlineprivate

Definition at line 701 of file websocket_server.hpp.

◆ handleConnectionClosed()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleConnectionClosed ( ConnHandle  hdl)
inlineprivate

Definition at line 354 of file websocket_server.hpp.

◆ handleConnectionOpened()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleConnectionOpened ( ConnHandle  hdl)
inlineprivate

Definition at line 307 of file websocket_server.hpp.

◆ handleFetchAsset()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleFetchAsset ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1479 of file websocket_server.hpp.

◆ handleGetParameters()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleGetParameters ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1348 of file websocket_server.hpp.

◆ handleMessage()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleMessage ( ConnHandle  hdl,
MessagePtr  msg 
)
inlineprivate

Definition at line 612 of file websocket_server.hpp.

◆ handleSetParameters()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleSetParameters ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1358 of file websocket_server.hpp.

◆ handleSubscribe()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleSubscribe ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1208 of file websocket_server.hpp.

◆ handleSubscribeConnectionGraph()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleSubscribeConnectionGraph ( ConnHandle  hdl)
private

Definition at line 1407 of file websocket_server.hpp.

◆ handleSubscribeParameterUpdates()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleSubscribeParameterUpdates ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1368 of file websocket_server.hpp.

◆ handleTextMessage()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleTextMessage ( ConnHandle  hdl,
MessagePtr  msg 
)
inlineprivate

Definition at line 629 of file websocket_server.hpp.

◆ handleUnadvertise()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleUnadvertise ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1319 of file websocket_server.hpp.

◆ handleUnsubscribe()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleUnsubscribe ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1249 of file websocket_server.hpp.

◆ handleUnsubscribeConnectionGraph()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleUnsubscribeConnectionGraph ( ConnHandle  hdl)
private

Definition at line 1450 of file websocket_server.hpp.

◆ handleUnsubscribeParameterUpdates()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::handleUnsubscribeParameterUpdates ( const nlohmann::json &  payload,
ConnHandle  hdl 
)
private

Definition at line 1392 of file websocket_server.hpp.

◆ hasCapability()

template<typename ServerConfiguration >
bool foxglove::Server< ServerConfiguration >::hasCapability ( const std::string &  capability) const
inlineprivate

Definition at line 1174 of file websocket_server.hpp.

◆ hasHandler()

template<typename ServerConfiguration >
bool foxglove::Server< ServerConfiguration >::hasHandler ( uint32_t  op) const
inlineprivate

Definition at line 1180 of file websocket_server.hpp.

◆ isParameterSubscribed()

template<typename ServerConfiguration >
bool foxglove::Server< ServerConfiguration >::isParameterSubscribed ( const std::string &  paramName) const
inlineprivate

Definition at line 1136 of file websocket_server.hpp.

◆ operator=() [1/2]

template<typename ServerConfiguration >
Server& foxglove::Server< ServerConfiguration >::operator= ( const Server< ServerConfiguration > &  )
delete

◆ operator=() [2/2]

template<typename ServerConfiguration >
Server& foxglove::Server< ServerConfiguration >::operator= ( Server< ServerConfiguration > &&  )
delete

◆ publishParameterValues()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::publishParameterValues ( ConnHandle  clientHandle,
const std::vector< Parameter > &  parameters,
const std::optional< std::string > &  requestId = std::nullopt 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 871 of file websocket_server.hpp.

◆ remoteEndpointString()

template<typename ServerConfiguration >
std::string foxglove::Server< ServerConfiguration >::remoteEndpointString ( ConnHandle  clientHandle)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1129 of file websocket_server.hpp.

◆ removeChannels()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::removeChannels ( const std::vector< ChannelId > &  channelIds)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 844 of file websocket_server.hpp.

◆ removeServices()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::removeServices ( const std::vector< ServiceId > &  serviceIds)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 936 of file websocket_server.hpp.

◆ sendBinary()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendBinary ( ConnHandle  hdl,
const uint8_t *  payload,
size_t  payloadSize 
)
inlineprivate

Definition at line 585 of file websocket_server.hpp.

◆ sendFetchAssetResponse()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendFetchAssetResponse ( ConnHandle  clientHandle,
const FetchAssetResponse response 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1486 of file websocket_server.hpp.

◆ sendJson()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendJson ( ConnHandle  hdl,
json &&  payload 
)
inlineprivate

Definition at line 567 of file websocket_server.hpp.

◆ sendJsonRaw()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendJsonRaw ( ConnHandle  hdl,
const std::string &  payload 
)
inlineprivate

Definition at line 576 of file websocket_server.hpp.

◆ sendMessage()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendMessage ( ConnHandle  clientHandle,
ChannelId  chanId,
uint64_t  timestamp,
const uint8_t *  payload,
size_t  payloadSize 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 958 of file websocket_server.hpp.

◆ sendServiceFailure()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendServiceFailure ( ConnHandle  clientHandle,
ServiceId  serviceId,
uint32_t  callId,
const std::string &  message 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1040 of file websocket_server.hpp.

◆ sendServiceResponse()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendServiceResponse ( ConnHandle  clientHandle,
const ServiceResponse response 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1021 of file websocket_server.hpp.

◆ sendStatusAndLogMsg()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::sendStatusAndLogMsg ( ConnHandle  clientHandle,
const StatusLevel  level,
const std::string &  message 
)
inlineprivate

Definition at line 595 of file websocket_server.hpp.

◆ setHandlers()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::setHandlers ( ServerHandlers< ConnHandle > &&  handlers)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 442 of file websocket_server.hpp.

◆ setupTlsHandler() [1/3]

void foxglove::Server< WebSocketNoTls >::setupTlsHandler ( )
inlineprivate

Definition at line 22 of file server_factory.cpp.

◆ setupTlsHandler() [2/3]

void foxglove::Server< WebSocketTls >::setupTlsHandler ( )
inlineprivate

Definition at line 27 of file server_factory.cpp.

◆ setupTlsHandler() [3/3]

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::setupTlsHandler ( )
private

◆ socketInit()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::socketInit ( ConnHandle  hdl)
inlineprivate

Definition at line 282 of file websocket_server.hpp.

◆ start()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::start ( const std::string &  host,
uint16_t  port 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 525 of file websocket_server.hpp.

◆ stop()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::stop
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 447 of file websocket_server.hpp.

◆ unsubscribeParamsWithoutSubscriptions()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::unsubscribeParamsWithoutSubscriptions ( ConnHandle  hdl,
const std::unordered_set< std::string > &  paramNames 
)
inlineprivate

Definition at line 1145 of file websocket_server.hpp.

◆ updateConnectionGraph()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::updateConnectionGraph ( const MapOfSets publishedTopics,
const MapOfSets subscribedTopics,
const MapOfSets advertisedServices 
)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 1050 of file websocket_server.hpp.

◆ updateParameterValues()

template<typename ServerConfiguration >
void foxglove::Server< ServerConfiguration >::updateParameterValues ( const std::vector< Parameter > &  parameters)
inlineoverridevirtual

Implements foxglove::ServerInterface< ConnHandle >.

Definition at line 889 of file websocket_server.hpp.

◆ validateConnection()

template<typename ServerConfiguration >
bool foxglove::Server< ServerConfiguration >::validateConnection ( ConnHandle  hdl)
inlineprivate

Definition at line 291 of file websocket_server.hpp.

Member Data Documentation

◆ _channels

template<typename ServerConfiguration >
std::unordered_map<ChannelId, Channel> foxglove::Server< ServerConfiguration >::_channels
private

Definition at line 185 of file websocket_server.hpp.

◆ _channelsMutex

template<typename ServerConfiguration >
std::shared_mutex foxglove::Server< ServerConfiguration >::_channelsMutex
private

Definition at line 194 of file websocket_server.hpp.

◆ _clientChannels

template<typename ServerConfiguration >
std::map<ConnHandle, std::unordered_map<ClientChannelId, ClientAdvertisement>, std::owner_less<> > foxglove::Server< ServerConfiguration >::_clientChannels
private

Definition at line 187 of file websocket_server.hpp.

◆ _clientChannelsMutex

template<typename ServerConfiguration >
std::shared_mutex foxglove::Server< ServerConfiguration >::_clientChannelsMutex
private

Definition at line 195 of file websocket_server.hpp.

◆ _clientParamSubscriptions

template<typename ServerConfiguration >
std::map<ConnHandle, std::unordered_set<std::string>, std::owner_less<> > foxglove::Server< ServerConfiguration >::_clientParamSubscriptions
private

Definition at line 189 of file websocket_server.hpp.

◆ _clientParamSubscriptionsMutex

template<typename ServerConfiguration >
std::mutex foxglove::Server< ServerConfiguration >::_clientParamSubscriptionsMutex
private

Definition at line 197 of file websocket_server.hpp.

◆ _clients

template<typename ServerConfiguration >
std::map<ConnHandle, ClientInfo, std::owner_less<> > foxglove::Server< ServerConfiguration >::_clients
private

Definition at line 184 of file websocket_server.hpp.

◆ _clientsMutex

template<typename ServerConfiguration >
std::shared_mutex foxglove::Server< ServerConfiguration >::_clientsMutex
private

Definition at line 193 of file websocket_server.hpp.

◆ _connectionGraph

struct { ... } foxglove::Server< ServerConfiguration >::_connectionGraph

◆ _connectionGraphMutex

template<typename ServerConfiguration >
std::shared_mutex foxglove::Server< ServerConfiguration >::_connectionGraphMutex
private

Definition at line 205 of file websocket_server.hpp.

◆ _handlerCallbackQueue

template<typename ServerConfiguration >
std::unique_ptr<CallbackQueue> foxglove::Server< ServerConfiguration >::_handlerCallbackQueue
private

Definition at line 181 of file websocket_server.hpp.

◆ _handlers

template<typename ServerConfiguration >
ServerHandlers<ConnHandle> foxglove::Server< ServerConfiguration >::_handlers
private

Definition at line 192 of file websocket_server.hpp.

◆ _logger

template<typename ServerConfiguration >
LogCallback foxglove::Server< ServerConfiguration >::_logger
private

Definition at line 177 of file websocket_server.hpp.

◆ _name

template<typename ServerConfiguration >
std::string foxglove::Server< ServerConfiguration >::_name
private

Definition at line 176 of file websocket_server.hpp.

◆ _nextChannelId

template<typename ServerConfiguration >
uint32_t foxglove::Server< ServerConfiguration >::_nextChannelId = 0
private

Definition at line 183 of file websocket_server.hpp.

◆ _nextServiceId

template<typename ServerConfiguration >
ServiceId foxglove::Server< ServerConfiguration >::_nextServiceId = 0
private

Definition at line 190 of file websocket_server.hpp.

◆ _options

template<typename ServerConfiguration >
ServerOptions foxglove::Server< ServerConfiguration >::_options
private

Definition at line 178 of file websocket_server.hpp.

◆ _server

template<typename ServerConfiguration >
ServerType foxglove::Server< ServerConfiguration >::_server
private

Definition at line 179 of file websocket_server.hpp.

◆ _serverThread

template<typename ServerConfiguration >
std::unique_ptr<std::thread> foxglove::Server< ServerConfiguration >::_serverThread
private

Definition at line 180 of file websocket_server.hpp.

◆ _services

template<typename ServerConfiguration >
std::unordered_map<ServiceId, ServiceWithoutId> foxglove::Server< ServerConfiguration >::_services
private

Definition at line 191 of file websocket_server.hpp.

◆ _servicesMutex

template<typename ServerConfiguration >
std::shared_mutex foxglove::Server< ServerConfiguration >::_servicesMutex
private

Definition at line 196 of file websocket_server.hpp.

◆ advertisedServices

template<typename ServerConfiguration >
MapOfSets foxglove::Server< ServerConfiguration >::advertisedServices

Definition at line 203 of file websocket_server.hpp.

◆ publishedTopics

template<typename ServerConfiguration >
MapOfSets foxglove::Server< ServerConfiguration >::publishedTopics

Definition at line 201 of file websocket_server.hpp.

◆ subscribedTopics

template<typename ServerConfiguration >
MapOfSets foxglove::Server< ServerConfiguration >::subscribedTopics

Definition at line 202 of file websocket_server.hpp.

◆ subscriptionCount

template<typename ServerConfiguration >
int foxglove::Server< ServerConfiguration >::subscriptionCount = 0

Definition at line 200 of file websocket_server.hpp.


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


foxglove_bridge
Author(s): Foxglove
autogenerated on Wed Mar 5 2025 03:34:31