Classes | Typedefs | Enumerations | Functions | Variables
foxglove Namespace Reference

Classes

class  CallbackLogger
 
class  CallbackQueue
 
struct  Channel
 
class  ChannelError
 
struct  ChannelWithoutId
 
class  Client
 
struct  ClientAdvertisement
 
class  ClientChannelError
 
class  ClientInterface
 
struct  ClientMessage
 
struct  DefinitionIdentifier
 
class  DefinitionNotFoundError
 
class  ExeptionWithId
 
class  MessageDefinitionCache
 
struct  MessageSpec
 
class  Parameter
 
class  ParameterValue
 
class  Server
 
class  ServerFactory
 
struct  ServerHandlers
 
class  ServerInterface
 
struct  ServerOptions
 
struct  Service
 
class  ServiceError
 
struct  ServiceResponse
 
struct  ServiceWithoutId
 
struct  WebSocketNoTls
 
struct  WebSocketTls
 

Typedefs

using BinaryMessageHandler = std::function< void(const uint8_t *, size_t)>
 
using ChannelId = uint32_t
 
using ClientChannelId = uint32_t
 
using ConnHandle = websocketpp::connection_hdl
 
using json = nlohmann::json
 
using LogCallback = std::function< void(WebSocketLogLevel, char const *)>
 
using MapOfSets = std::unordered_map< std::string, std::unordered_set< std::string > >
 
using OpCode = websocketpp::frame::opcode::value
 
using ServiceId = uint32_t
 
using ServiceRequest = ServiceResponse
 
using SubscriptionId = uint32_t
 
using TextMessageHandler = std::function< void(const std::string &)>
 

Enumerations

enum  BinaryOpcode : uint8_t { BinaryOpcode::MESSAGE_DATA = 1, BinaryOpcode::TIME_DATA = 2, BinaryOpcode::SERVICE_CALL_RESPONSE = 3 }
 
enum  ClientBinaryOpcode : uint8_t { ClientBinaryOpcode::MESSAGE_DATA = 1, ClientBinaryOpcode::SERVICE_CALL_REQUEST = 2 }
 
enum  MessageDefinitionFormat { MessageDefinitionFormat::IDL, MessageDefinitionFormat::MSG }
 
enum  ParameterSubscriptionOperation { ParameterSubscriptionOperation::SUBSCRIBE, ParameterSubscriptionOperation::UNSUBSCRIBE }
 
enum  ParameterType {
  ParameterType::PARAMETER_NOT_SET, ParameterType::PARAMETER_BOOL, ParameterType::PARAMETER_INTEGER, ParameterType::PARAMETER_DOUBLE,
  ParameterType::PARAMETER_STRING, ParameterType::PARAMETER_ARRAY, ParameterType::PARAMETER_STRUCT, ParameterType::PARAMETER_BYTE_ARRAY
}
 
enum  StatusLevel : uint8_t { StatusLevel::Info = 0, StatusLevel::Warning = 1, StatusLevel::Error = 2 }
 
enum  WebSocketLogLevel {
  WebSocketLogLevel::Debug, WebSocketLogLevel::Info, WebSocketLogLevel::Warn, WebSocketLogLevel::Error,
  WebSocketLogLevel::Critical
}
 

Functions

std::vector< unsigned char > base64Decode (const std::string &input)
 
std::string base64Encode (const std::string_view &input)
 
std::vector< uint8_t > connectClientAndReceiveMsg (const std::string &uri, const std::string &topic_name)
 
static std::string delimiter (const DefinitionIdentifier &definition_identifier)
 
bool ends_with (const std::string &str, const std::string &suffix)
 
static const char * extension_for_format (MessageDefinitionFormat format)
 
void from_json (const nlohmann::json &j, Channel &c)
 
void from_json (const nlohmann::json &j, ParameterValue &p)
 
void from_json (const nlohmann::json &j, Parameter &p)
 
void from_json (const nlohmann::json &j, Service &p)
 
constexpr uint32_t Integer (const std::string_view str)
 
std::string IPAddressToString (const asio::ip::address &addr)
 
bool isWhitelisted (const std::string &name, const std::vector< std::regex > &regexPatterns)
 
void NoOpLogCallback (WebSocketLogLevel, char const *)
 
std::set< std::string > parse_dependencies (MessageDefinitionFormat format, const std::string &text, const std::string &package_context)
 
static std::set< std::string > parse_idl_dependencies (const std::string &text)
 
static std::set< std::string > parse_msg_dependencies (const std::string &text, const std::string &package_context)
 
uint32_t ReadUint32LE (const uint8_t *buf)
 
std::string remove_action_subtype (const std::string action_type)
 
static std::tuple< std::string, std::string, std::string > split_action_msg_definition (const std::string &action_definition)
 Split an action definition into individual goal, result and feedback definitions. More...
 
static std::vector< std::string > split_string (const std::string &str, const std::string &delimiter="\)
 
constexpr websocketpp::log::level StatusLevelToLogLevel (StatusLevel level)
 
void to_json (nlohmann::json &j, const ClientAdvertisement &p)
 
void to_json (nlohmann::json &j, const Channel &c)
 
void to_json (nlohmann::json &j, const ParameterValue &p)
 
void to_json (nlohmann::json &j, const Parameter &p)
 
void to_json (nlohmann::json &j, const Service &p)
 
std::future< std::vector< Parameter > > waitForParameters (std::shared_ptr< ClientInterface > client, const std::string &requestId=std::string())
 
std::future< ServicewaitForService (std::shared_ptr< ClientInterface > client, const std::string &serviceName)
 
std::future< ServiceResponsewaitForServiceResponse (std::shared_ptr< ClientInterface > client)
 
const char * WebSocketUserAgent ()
 
void WriteUint32LE (uint8_t *buf, uint32_t val)
 
void WriteUint64LE (uint8_t *buf, uint64_t val)
 

Variables

constexpr char ACTION_FEEDBACK_MESSAGE_SUFFIX [] = "_FeedbackMessage"
 
constexpr char ACTION_GOAL_SERVICE_SUFFIX [] = "_SendGoal"
 
constexpr char ACTION_RESULT_SERVICE_SUFFIX [] = "_GetResult"
 
static const websocketpp::log::level APP = websocketpp::log::alevel::app
 
const std::unordered_map< ClientBinaryOpcode, std::string > CAPABILITY_BY_CLIENT_BINARY_OPERATION
 Map of required capability by client operation (binary). More...
 
const std::unordered_map< std::string, std::string > CAPABILITY_BY_CLIENT_OPERATION
 Map of required capability by client operation (text). More...
 
constexpr char CAPABILITY_CLIENT_PUBLISH [] = "clientPublish"
 
constexpr char CAPABILITY_CONNECTION_GRAPH [] = "connectionGraph"
 
constexpr char CAPABILITY_PARAMETERS [] = "parameters"
 
constexpr char CAPABILITY_PARAMETERS_SUBSCRIBE [] = "parametersSubscribe"
 
constexpr char CAPABILITY_SERVICES [] = "services"
 
constexpr char CAPABILITY_TIME [] = "time"
 
constexpr std::array< const char *, 5 > DEFAULT_CAPABILITIES
 
constexpr size_t DEFAULT_SEND_BUFFER_LIMIT_BYTES = 10000000UL
 
constexpr auto DEFAULT_TIMEOUT = std::chrono::seconds(5)
 
const char FOXGLOVE_BRIDGE_GIT_HASH []
 
const char FOXGLOVE_BRIDGE_VERSION []
 
static const std::regex IDL_FIELD_TYPE_REGEX
 
static const std::regex MSG_FIELD_TYPE_REGEX {R"((?:^|\n)\s*([a-zA-Z0-9_/]+)(?:\[[^\]]*\])?\s+)"}
 
static const std::regex PACKAGE_TYPENAME_REGEX
 
static const std::unordered_set< std::string > PRIMITIVE_TYPES
 
static const websocketpp::log::level RECOVERABLE = websocketpp::log::elevel::rerror
 
constexpr char SERVICE_REQUEST_MESSAGE_SUFFIX [] = "_Request"
 
constexpr char SERVICE_RESPONSE_MESSAGE_SUFFIX [] = "_Response"
 
constexpr char SUPPORTED_SUBPROTOCOL [] = "foxglove.websocket.v1"
 
static const websocketpp::log::level WARNING = websocketpp::log::elevel::warn
 

Typedef Documentation

◆ BinaryMessageHandler

using foxglove::BinaryMessageHandler = typedef std::function<void(const uint8_t*, size_t)>

Definition at line 29 of file websocket_client.hpp.

◆ ChannelId

using foxglove::ChannelId = typedef uint32_t

Definition at line 25 of file common.hpp.

◆ ClientChannelId

using foxglove::ClientChannelId = typedef uint32_t

Definition at line 26 of file common.hpp.

◆ ConnHandle

using foxglove::ConnHandle = typedef websocketpp::connection_hdl

Definition at line 45 of file websocket_server.hpp.

◆ json

using foxglove::json = typedef nlohmann::json

Definition at line 43 of file websocket_server.hpp.

◆ LogCallback

using foxglove::LogCallback = typedef std::function<void(WebSocketLogLevel, char const*)>

Definition at line 12 of file websocket_logging.hpp.

◆ MapOfSets

using foxglove::MapOfSets = typedef std::unordered_map<std::string, std::unordered_set<std::string> >

Definition at line 18 of file server_interface.hpp.

◆ OpCode

typedef websocketpp::frame::opcode::value foxglove::OpCode

Definition at line 30 of file websocket_client.hpp.

◆ ServiceId

using foxglove::ServiceId = typedef uint32_t

Definition at line 28 of file common.hpp.

◆ ServiceRequest

Definition at line 146 of file common.hpp.

◆ SubscriptionId

using foxglove::SubscriptionId = typedef uint32_t

Definition at line 27 of file common.hpp.

◆ TextMessageHandler

using foxglove::TextMessageHandler = typedef std::function<void(const std::string&)>

Definition at line 28 of file websocket_client.hpp.

Enumeration Type Documentation

◆ BinaryOpcode

enum foxglove::BinaryOpcode : uint8_t
strong
Enumerator
MESSAGE_DATA 
TIME_DATA 
SERVICE_CALL_RESPONSE 

Definition at line 30 of file common.hpp.

◆ ClientBinaryOpcode

enum foxglove::ClientBinaryOpcode : uint8_t
strong
Enumerator
MESSAGE_DATA 
SERVICE_CALL_REQUEST 

Definition at line 36 of file common.hpp.

◆ MessageDefinitionFormat

Enumerator
IDL 
MSG 

Definition at line 19 of file message_definition_cache.hpp.

◆ ParameterSubscriptionOperation

Enumerator
SUBSCRIBE 
UNSUBSCRIBE 

Definition at line 11 of file parameter.hpp.

◆ ParameterType

Enumerator
PARAMETER_NOT_SET 
PARAMETER_BOOL 
PARAMETER_INTEGER 
PARAMETER_DOUBLE 
PARAMETER_STRING 
PARAMETER_ARRAY 
PARAMETER_STRUCT 
PARAMETER_BYTE_ARRAY 

Definition at line 16 of file parameter.hpp.

◆ StatusLevel

enum foxglove::StatusLevel : uint8_t
strong
Enumerator
Info 
Warning 
Error 

Definition at line 80 of file websocket_server.hpp.

◆ WebSocketLogLevel

Enumerator
Debug 
Info 
Warn 
Error 
Critical 

Definition at line 41 of file common.hpp.

Function Documentation

◆ base64Decode()

std::vector< unsigned char > foxglove::base64Decode ( const std::string &  input)

Definition at line 47 of file base64.cpp.

◆ base64Encode()

std::string foxglove::base64Encode ( const std::string_view &  input)

Definition at line 10 of file base64.cpp.

◆ connectClientAndReceiveMsg()

std::vector< uint8_t > foxglove::connectClientAndReceiveMsg ( const std::string &  uri,
const std::string &  topic_name 
)

Definition at line 14 of file test_client.cpp.

◆ delimiter()

static std::string foxglove::delimiter ( const DefinitionIdentifier definition_identifier)
static

Definition at line 86 of file message_definition_cache.cpp.

◆ ends_with()

bool foxglove::ends_with ( const std::string &  str,
const std::string &  suffix 
)
inline

Definition at line 136 of file message_definition_cache.cpp.

◆ extension_for_format()

static const char* foxglove::extension_for_format ( MessageDefinitionFormat  format)
static

Definition at line 75 of file message_definition_cache.cpp.

◆ from_json() [1/4]

void foxglove::from_json ( const nlohmann::json &  j,
Channel c 
)

Definition at line 19 of file serialization.cpp.

◆ from_json() [2/4]

void foxglove::from_json ( const nlohmann::json &  j,
ParameterValue p 
)

Definition at line 55 of file serialization.cpp.

◆ from_json() [3/4]

void foxglove::from_json ( const nlohmann::json &  j,
Parameter p 
)

Definition at line 83 of file serialization.cpp.

◆ from_json() [4/4]

void foxglove::from_json ( const nlohmann::json &  j,
Service p 
)

Definition at line 112 of file serialization.cpp.

◆ Integer()

constexpr uint32_t foxglove::Integer ( const std::string_view  str)

Definition at line 52 of file websocket_server.hpp.

◆ IPAddressToString()

std::string foxglove::IPAddressToString ( const asio::ip::address &  addr)
inline

Definition at line 14 of file websocket_logging.hpp.

◆ isWhitelisted()

bool foxglove::isWhitelisted ( const std::string &  name,
const std::vector< std::regex > &  regexPatterns 
)
inline

Definition at line 10 of file regex_utils.hpp.

◆ NoOpLogCallback()

void foxglove::NoOpLogCallback ( WebSocketLogLevel  ,
char const *   
)
inline

Definition at line 21 of file websocket_logging.hpp.

◆ parse_dependencies()

std::set< std::string > foxglove::parse_dependencies ( MessageDefinitionFormat  format,
const std::string &  text,
const std::string &  package_context 
)

Definition at line 63 of file message_definition_cache.cpp.

◆ parse_idl_dependencies()

static std::set<std::string> foxglove::parse_idl_dependencies ( const std::string &  text)
static

Definition at line 53 of file message_definition_cache.cpp.

◆ parse_msg_dependencies()

static std::set<std::string> foxglove::parse_msg_dependencies ( const std::string &  text,
const std::string &  package_context 
)
static

Definition at line 34 of file message_definition_cache.cpp.

◆ ReadUint32LE()

uint32_t foxglove::ReadUint32LE ( const uint8_t *  buf)
inline

Definition at line 38 of file serialization.hpp.

◆ remove_action_subtype()

std::string foxglove::remove_action_subtype ( const std::string  action_type)

Definition at line 141 of file message_definition_cache.cpp.

◆ split_action_msg_definition()

static std::tuple<std::string, std::string, std::string> foxglove::split_action_msg_definition ( const std::string &  action_definition)
static

Split an action definition into individual goal, result and feedback definitions.

Parameters
action_definitionThe full action definition as read from a .action file
Returns
A tuple holding goal, result and feedback definitions

Definition at line 124 of file message_definition_cache.cpp.

◆ split_string()

static std::vector<std::string> foxglove::split_string ( const std::string &  str,
const std::string &  delimiter = "\n" 
)
static

Definition at line 104 of file message_definition_cache.cpp.

◆ StatusLevelToLogLevel()

constexpr websocketpp::log::level foxglove::StatusLevelToLogLevel ( StatusLevel  level)

Definition at line 86 of file websocket_server.hpp.

◆ to_json() [1/5]

void foxglove::to_json ( nlohmann::json &  j,
const ClientAdvertisement p 
)
inline

Definition at line 21 of file websocket_client.hpp.

◆ to_json() [2/5]

void foxglove::to_json ( nlohmann::json &  j,
const Channel c 
)

Definition at line 6 of file serialization.cpp.

◆ to_json() [3/5]

void foxglove::to_json ( nlohmann::json &  j,
const ParameterValue p 
)

Definition at line 31 of file serialization.cpp.

◆ to_json() [4/5]

void foxglove::to_json ( nlohmann::json &  j,
const Parameter p 
)

Definition at line 75 of file serialization.cpp.

◆ to_json() [5/5]

void foxglove::to_json ( nlohmann::json &  j,
const Service p 
)

Definition at line 102 of file serialization.cpp.

◆ waitForParameters()

std::future< std::vector< Parameter > > foxglove::waitForParameters ( std::shared_ptr< ClientInterface client,
const std::string &  requestId = std::string() 
)

Definition at line 60 of file test_client.cpp.

◆ waitForService()

std::future< Service > foxglove::waitForService ( std::shared_ptr< ClientInterface client,
const std::string &  serviceName 
)

Definition at line 97 of file test_client.cpp.

◆ waitForServiceResponse()

std::future< ServiceResponse > foxglove::waitForServiceResponse ( std::shared_ptr< ClientInterface client)

Definition at line 80 of file test_client.cpp.

◆ WebSocketUserAgent()

const char * foxglove::WebSocketUserAgent ( )

Definition at line 7 of file foxglove_bridge.cpp.

◆ WriteUint32LE()

void foxglove::WriteUint32LE ( uint8_t *  buf,
uint32_t  val 
)
inline

Definition at line 27 of file serialization.hpp.

◆ WriteUint64LE()

void foxglove::WriteUint64LE ( uint8_t *  buf,
uint64_t  val 
)
inline

Definition at line 12 of file serialization.hpp.

Variable Documentation

◆ ACTION_FEEDBACK_MESSAGE_SUFFIX

constexpr char foxglove::ACTION_FEEDBACK_MESSAGE_SUFFIX[] = "_FeedbackMessage"

Definition at line 17 of file message_definition_cache.hpp.

◆ ACTION_GOAL_SERVICE_SUFFIX

constexpr char foxglove::ACTION_GOAL_SERVICE_SUFFIX[] = "_SendGoal"

Definition at line 15 of file message_definition_cache.hpp.

◆ ACTION_RESULT_SERVICE_SUFFIX

constexpr char foxglove::ACTION_RESULT_SERVICE_SUFFIX[] = "_GetResult"

Definition at line 16 of file message_definition_cache.hpp.

◆ APP

const websocketpp::log::level foxglove::APP = websocketpp::log::alevel::app
static

Definition at line 48 of file websocket_server.hpp.

◆ CAPABILITY_BY_CLIENT_BINARY_OPERATION

const std::unordered_map<ClientBinaryOpcode, std::string> foxglove::CAPABILITY_BY_CLIENT_BINARY_OPERATION
Initial value:
= {
{ClientBinaryOpcode::MESSAGE_DATA, CAPABILITY_CLIENT_PUBLISH},
{ClientBinaryOpcode::SERVICE_CALL_REQUEST, CAPABILITY_SERVICES},
}
constexpr char CAPABILITY_CLIENT_PUBLISH[]
Definition: common.hpp:13
constexpr char CAPABILITY_SERVICES[]
Definition: common.hpp:17

Map of required capability by client operation (binary).

Definition at line 75 of file websocket_server.hpp.

◆ CAPABILITY_BY_CLIENT_OPERATION

const std::unordered_map<std::string, std::string> foxglove::CAPABILITY_BY_CLIENT_OPERATION
Initial value:
= {
{"advertise", CAPABILITY_CLIENT_PUBLISH},
{"unadvertise", CAPABILITY_CLIENT_PUBLISH},
{"getParameters", CAPABILITY_PARAMETERS},
{"setParameters", CAPABILITY_PARAMETERS},
{"subscribeParameterUpdates", CAPABILITY_PARAMETERS_SUBSCRIBE},
{"unsubscribeParameterUpdates", CAPABILITY_PARAMETERS_SUBSCRIBE},
{"subscribeConnectionGraph", CAPABILITY_CONNECTION_GRAPH},
{"unsubscribeConnectionGraph", CAPABILITY_CONNECTION_GRAPH},
}
constexpr char CAPABILITY_CLIENT_PUBLISH[]
Definition: common.hpp:13
constexpr char CAPABILITY_PARAMETERS_SUBSCRIBE[]
Definition: common.hpp:16
constexpr char CAPABILITY_CONNECTION_GRAPH[]
Definition: common.hpp:18
constexpr char CAPABILITY_PARAMETERS[]
Definition: common.hpp:15

Map of required capability by client operation (text).

Definition at line 61 of file websocket_server.hpp.

◆ CAPABILITY_CLIENT_PUBLISH

constexpr char foxglove::CAPABILITY_CLIENT_PUBLISH[] = "clientPublish"

Definition at line 13 of file common.hpp.

◆ CAPABILITY_CONNECTION_GRAPH

constexpr char foxglove::CAPABILITY_CONNECTION_GRAPH[] = "connectionGraph"

Definition at line 18 of file common.hpp.

◆ CAPABILITY_PARAMETERS

constexpr char foxglove::CAPABILITY_PARAMETERS[] = "parameters"

Definition at line 15 of file common.hpp.

◆ CAPABILITY_PARAMETERS_SUBSCRIBE

constexpr char foxglove::CAPABILITY_PARAMETERS_SUBSCRIBE[] = "parametersSubscribe"

Definition at line 16 of file common.hpp.

◆ CAPABILITY_SERVICES

constexpr char foxglove::CAPABILITY_SERVICES[] = "services"

Definition at line 17 of file common.hpp.

◆ CAPABILITY_TIME

constexpr char foxglove::CAPABILITY_TIME[] = "time"

Definition at line 14 of file common.hpp.

◆ DEFAULT_CAPABILITIES

constexpr std::array<const char*, 5> foxglove::DEFAULT_CAPABILITIES
Initial value:
= {
}
constexpr char CAPABILITY_CLIENT_PUBLISH[]
Definition: common.hpp:13
constexpr char CAPABILITY_PARAMETERS_SUBSCRIBE[]
Definition: common.hpp:16
constexpr char CAPABILITY_CONNECTION_GRAPH[]
Definition: common.hpp:18
constexpr char CAPABILITY_SERVICES[]
Definition: common.hpp:17
constexpr char CAPABILITY_PARAMETERS[]
Definition: common.hpp:15

Definition at line 20 of file common.hpp.

◆ DEFAULT_SEND_BUFFER_LIMIT_BYTES

constexpr size_t foxglove::DEFAULT_SEND_BUFFER_LIMIT_BYTES = 10000000UL

Definition at line 16 of file server_interface.hpp.

◆ DEFAULT_TIMEOUT

constexpr auto foxglove::DEFAULT_TIMEOUT = std::chrono::seconds(5)

Definition at line 12 of file test_client.cpp.

◆ FOXGLOVE_BRIDGE_GIT_HASH

const char foxglove::FOXGLOVE_BRIDGE_GIT_HASH[]

◆ FOXGLOVE_BRIDGE_VERSION

const char foxglove::FOXGLOVE_BRIDGE_VERSION[]

◆ IDL_FIELD_TYPE_REGEX

const std::regex foxglove::IDL_FIELD_TYPE_REGEX
static
Initial value:
{
R"((?:^|\n)#include\s+(?:"|<)([a-zA-Z0-9_/]+)\.idl(?:"|>))"}

Definition at line 27 of file message_definition_cache.cpp.

◆ MSG_FIELD_TYPE_REGEX

const std::regex foxglove::MSG_FIELD_TYPE_REGEX {R"((?:^|\n)\s*([a-zA-Z0-9_/]+)(?:\[[^\]]*\])?\s+)"}
static

Definition at line 24 of file message_definition_cache.cpp.

◆ PACKAGE_TYPENAME_REGEX

const std::regex foxglove::PACKAGE_TYPENAME_REGEX
static
Initial value:
{
R"(^([a-zA-Z0-9_]+)/(?:(msg|srv|action)/)?([a-zA-Z0-9_]+)$)"}

Definition at line 20 of file message_definition_cache.cpp.

◆ PRIMITIVE_TYPES

const std::unordered_set<std::string> foxglove::PRIMITIVE_TYPES
static
Initial value:
{
"bool", "byte", "char", "float32", "float64", "int8", "uint8",
"int16", "uint16", "int32", "uint32", "int64", "uint64", "string"}

Definition at line 30 of file message_definition_cache.cpp.

◆ RECOVERABLE

const websocketpp::log::level foxglove::RECOVERABLE = websocketpp::log::elevel::rerror
static

Definition at line 50 of file websocket_server.hpp.

◆ SERVICE_REQUEST_MESSAGE_SUFFIX

constexpr char foxglove::SERVICE_REQUEST_MESSAGE_SUFFIX[] = "_Request"

Definition at line 13 of file message_definition_cache.hpp.

◆ SERVICE_RESPONSE_MESSAGE_SUFFIX

constexpr char foxglove::SERVICE_RESPONSE_MESSAGE_SUFFIX[] = "_Response"

Definition at line 14 of file message_definition_cache.hpp.

◆ SUPPORTED_SUBPROTOCOL

constexpr char foxglove::SUPPORTED_SUBPROTOCOL[] = "foxglove.websocket.v1"

Definition at line 12 of file common.hpp.

◆ WARNING

const websocketpp::log::level foxglove::WARNING = websocketpp::log::elevel::warn
static

Definition at line 49 of file websocket_server.hpp.



foxglove_bridge
Author(s): Foxglove
autogenerated on Mon Jul 3 2023 02:12:22