Go to the documentation of this file.
7 #include <unordered_map>
8 #include <unordered_set>
18 using MapOfSets = std::unordered_map<std::string, std::unordered_set<std::string>>;
20 template <
typename IdType>
24 :
std::runtime_error(what_arg)
48 std::unordered_map<std::string, std::string>
metadata;
58 template <
typename ConnectionHandle>
65 std::function<void(
const std::vector<std::string>&,
const std::optional<std::string>&,
68 std::function<void(
const std::vector<Parameter>&,
const std::optional<std::string>&,
79 template <
typename ConnectionHandle>
83 virtual void start(
const std::string& host, uint16_t port) = 0;
84 virtual void stop() = 0;
86 virtual std::vector<ChannelId>
addChannels(
const std::vector<ChannelWithoutId>& channels) = 0;
87 virtual void removeChannels(
const std::vector<ChannelId>& channelIds) = 0;
89 const std::vector<Parameter>& parameters,
90 const std::optional<std::string>& requestId) = 0;
92 virtual std::vector<ServiceId>
addServices(
const std::vector<ServiceWithoutId>& services) = 0;
93 virtual void removeServices(
const std::vector<ServiceId>& serviceIds) = 0;
98 const uint8_t* payload,
size_t payloadSize) = 0;
103 uint32_t callId,
const std::string& message) = 0;
106 const MapOfSets& advertisedServices) = 0;
110 virtual uint16_t
getPort() = 0;
virtual void updateConnectionGraph(const MapOfSets &publishedTopics, const MapOfSets &subscribedTopics, const MapOfSets &advertisedServices)=0
websocketpp::connection_hdl ConnectionHandle
virtual void removeChannels(const std::vector< ChannelId > &channelIds)=0
std::function< void(bool)> subscribeConnectionGraphHandler
virtual void sendMessage(ConnectionHandle clientHandle, ChannelId chanId, uint64_t timestamp, const uint8_t *payload, size_t payloadSize)=0
virtual ~ServerInterface()
virtual uint16_t getPort()=0
std::function< void(const ClientMessage &, ConnectionHandle)> clientMessageHandler
virtual void publishParameterValues(ConnectionHandle clientHandle, const std::vector< Parameter > ¶meters, const std::optional< std::string > &requestId)=0
std::function< void(const ServiceRequest &, ConnectionHandle)> serviceRequestHandler
std::function< void(const std::vector< Parameter > &, const std::optional< std::string > &, ConnectionHandle)> parameterChangeHandler
ParameterSubscriptionOperation
std::vector< std::string > supportedEncodings
std::function< void(const std::string &, uint32_t, ConnectionHandle)> fetchAssetHandler
constexpr size_t DEFAULT_SEND_BUFFER_LIMIT_BYTES
std::function< void(ChannelId, ConnectionHandle)> unsubscribeHandler
std::function< void(ChannelId, ConnectionHandle)> subscribeHandler
virtual void setHandlers(ServerHandlers< ConnectionHandle > &&handlers)=0
virtual void updateParameterValues(const std::vector< Parameter > ¶meters)=0
virtual std::string remoteEndpointString(ConnectionHandle clientHandle)=0
virtual void start(const std::string &host, uint16_t port)=0
std::vector< std::string > capabilities
virtual void removeServices(const std::vector< ServiceId > &serviceIds)=0
virtual std::vector< ChannelId > addChannels(const std::vector< ChannelWithoutId > &channels)=0
std::unordered_map< std::string, std::unordered_set< std::string > > MapOfSets
std::function< void(ClientChannelId, ConnectionHandle)> clientUnadvertiseHandler
std::function< void(const std::vector< std::string > &, const std::optional< std::string > &, ConnectionHandle)> parameterRequestHandler
virtual void sendServiceResponse(ConnectionHandle clientHandle, const ServiceResponse &response)=0
size_t sendBufferLimitBytes
std::function< void(const ClientAdvertisement &, ConnectionHandle)> clientAdvertiseHandler
virtual void broadcastTime(uint64_t timestamp)=0
virtual void sendServiceFailure(ConnectionHandle clientHandle, ServiceId serviceId, uint32_t callId, const std::string &message)=0
std::vector< std::regex > clientTopicWhitelistPatterns
virtual std::vector< ServiceId > addServices(const std::vector< ServiceWithoutId > &services)=0
virtual void sendFetchAssetResponse(ConnectionHandle clientHandle, const FetchAssetResponse &response)=0
std::unordered_map< std::string, std::string > metadata
std::function< void(const std::vector< std::string > &, ParameterSubscriptionOperation, ConnectionHandle)> parameterSubscriptionHandler
ExeptionWithId(IdType id, const std::string &what_arg)
foxglove_bridge
Author(s): Foxglove
autogenerated on Wed Mar 5 2025 03:34:31