63 DesertNode(std::string name, std::string namespace_, rmw_gid_t gid);
158 std::string _namespace;
162 std::vector<DesertPublisher *> _publishers;
163 std::vector<DesertSubscriber *> _subscribers;
164 std::vector<DesertClient *> _clients;
165 std::vector<DesertService *> _services;
167 void publish_all_beacons();
169 bool _discovery_done;
170 std::thread _discovery_request_thread;
172 void _discovery_request();
Classes used to convert data types into a CBOR encoded stream.
Implementation of the Client structure for DESERT.
Implementation of the Publisher structure for DESERT.
Implementation of the Service structure for DESERT.
Implementation of the Subscriber structure for DESERT.
Namespace used to provide discovery functionalities.
Class used to store configurations.
Definition DesertClient.h:61
Definition DesertNode.h:54
void add_service(DesertService *ser)
Add a service to the current node.
Definition DesertNode.cpp:65
void add_subscriber(DesertSubscriber *sub)
Add a subscriber to the current node.
Definition DesertNode.cpp:39
void add_publisher(DesertPublisher *pub)
Add a publisher to the current node.
Definition DesertNode.cpp:26
rmw_gid_t get_gid()
Retreive the gid of the current entity.
Definition DesertNode.cpp:142
void remove_subscriber(DesertSubscriber *sub)
Remove a subscriber from the current node.
Definition DesertNode.cpp:94
void remove_publisher(DesertPublisher *pub)
Remove a publisher from the current node.
Definition DesertNode.cpp:78
void remove_service(DesertService *ser)
Remove a service from the current node.
Definition DesertNode.cpp:126
void remove_client(DesertClient *cli)
Remove a client from the current node.
Definition DesertNode.cpp:110
void add_client(DesertClient *cli)
Add a client to the current node.
Definition DesertNode.cpp:52
Definition DesertPublisher.h:61
Definition DesertService.h:61
Definition DesertSubscriber.h:60
Definition CBorStream.h:244
Definition CBorStream.h:87