Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
websocket_server.hpp File Reference
#include <algorithm>
#include <chrono>
#include <cstdint>
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <shared_mutex>
#include <string_view>
#include <thread>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <nlohmann/json.hpp>
#include <websocketpp/config/asio.hpp>
#include <websocketpp/server.hpp>
#include "callback_queue.hpp"
#include "common.hpp"
#include "parameter.hpp"
#include "regex_utils.hpp"
#include "serialization.hpp"
#include "server_interface.hpp"
#include "websocket_logging.hpp"
Include dependency graph for websocket_server.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  foxglove::Server< ServerConfiguration >::ClientInfo
 
class  foxglove::Server< ServerConfiguration >
 

Namespaces

 foxglove
 

Macros

#define FOXGLOVE_DEBOUNCE(f, ms)
 

Typedefs

using foxglove::ConnHandle = websocketpp::connection_hdl
 
using foxglove::json = nlohmann::json
 

Enumerations

enum  foxglove::StatusLevel : uint8_t { foxglove::StatusLevel::Info = 0, foxglove::StatusLevel::Warning = 1, foxglove::StatusLevel::Error = 2 }
 

Functions

constexpr uint32_t foxglove::Integer (const std::string_view str)
 
constexpr websocketpp::log::level foxglove::StatusLevelToLogLevel (StatusLevel level)
 

Variables

static const websocketpp::log::level foxglove::APP = websocketpp::log::alevel::app
 
const std::unordered_map< ClientBinaryOpcode, std::string > foxglove::CAPABILITY_BY_CLIENT_BINARY_OPERATION
 Map of required capability by client operation (binary). More...
 
const std::unordered_map< std::string, std::string > foxglove::CAPABILITY_BY_CLIENT_OPERATION
 Map of required capability by client operation (text). More...
 
static const websocketpp::log::level foxglove::RECOVERABLE = websocketpp::log::elevel::rerror
 
static const websocketpp::log::level foxglove::WARNING = websocketpp::log::elevel::warn
 

Macro Definition Documentation

◆ FOXGLOVE_DEBOUNCE

#define FOXGLOVE_DEBOUNCE (   f,
  ms 
)
Value:
{ \
static auto last_call = std::chrono::system_clock::now(); \
const auto now = std::chrono::system_clock::now(); \
if (std::chrono::duration_cast<std::chrono::milliseconds>(now - last_call).count() > ms) { \
last_call = now; \
f(); \
} \
}

Definition at line 31 of file websocket_server.hpp.



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