RMW desert 1.0
Loading...
Searching...
No Matches
Discovery.h
Go to the documentation of this file.
1/****************************************************************************
2 * Copyright (C) 2024 Davide Costa *
3 * *
4 * This file is part of RMW desert. *
5 * *
6 * RMW desert is free software: you can redistribute it and/or modify it *
7 * under the terms of the GNU General Public License as published by the *
8 * Free Software Foundation, either version 3 of the License, or any *
9 * later version. *
10 * *
11 * RMW desert is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with RMW desert. If not, see <http://www.gnu.org/licenses/>. *
18 ****************************************************************************/
19
34#include <thread>
35#include <chrono>
36
37#include "CBorStream.h"
38
39#include "rmw/types.h"
40#include "rmw/error_handling.h"
41
42#include "rmw_context_impl_s.h"
43
44#include "demangle.h"
45
46#ifndef DISCOVERY_H_
47#define DISCOVERY_H_
48
59namespace Discovery
60{
61
70 void discovery_thread(rmw_context_impl_t * impl);
71
81 rmw_ret_t discovery_thread_start(rmw_context_impl_t * impl);
82
92 rmw_ret_t discovery_thread_stop(rmw_context_impl_t * impl);
93
109 void send_discovery_beacon(cbor::TxStream stream, std::string node_name, std::string node_namespace, int entity_type, rmw_gid_t entity_gid, std::string topic_name, std::string type_name, bool disconnect);
110
120
121}
122
123#endif
Classes used to convert data types into a CBOR encoded stream.
Definition CBorStream.h:87
Functions used to demangle topic names during discovery operations.
Namespace containing discovery functions.
rmw_ret_t discovery_thread_start(rmw_context_impl_t *impl)
Initialize the discovery thread.
Definition Discovery.cpp:161
void send_discovery_beacon(cbor::TxStream stream, std::string node_name, std::string node_namespace, int entity_type, rmw_gid_t entity_gid, std::string topic_name, std::string type_name, bool disconnect)
Send a discovery beacon.
Definition Discovery.cpp:214
rmw_ret_t discovery_thread_stop(rmw_context_impl_t *impl)
Stop the discovery thread.
Definition Discovery.cpp:189
void send_discovery_request(cbor::TxStream stream)
Send a discovery request.
Definition Discovery.cpp:231
void discovery_thread(rmw_context_impl_t *impl)
Thread handling discovery beacons.
Definition Discovery.cpp:3
Implementation for the context variable.