Discovery.hh File Reference
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netinet/in.h>
#include <gz/msgs/discovery.pb.h>
#include <algorithm>
#include <condition_variable>
#include <limits>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <thread>
#include <vector>
#include <gz/msgs/Utility.hh>
#include "gz/transport/config.hh"
#include "gz/transport/Export.hh"
#include "gz/transport/Helpers.hh"
#include "gz/transport/NetUtils.hh"
#include "gz/transport/Publisher.hh"
#include "gz/transport/TopicStorage.hh"
#include "gz/transport/TransportTypes.hh"

Go to the source code of this file.

Classes

class  Discovery< Pub >
 A discovery class that implements a distributed topic discovery protocol. It uses UDP multicast for sending/receiving messages and stores updated topic information. The discovery clients can request the discovery of a topic or the advertisement of a local topic. The discovery uses heartbeats to track the state of other peers in the network. The discovery clients can register callbacks to detect when new topics are discovered or topics are no longer available. More...
 

Namespaces

 gz
 
 gz::transport
 

Typedefs

using MsgDiscovery = Discovery< MessagePublisher >
 
using raw_type = void
 
using SrvDiscovery = Discovery< ServicePublisher >
 

Enumerations

enum class  DestinationType { UNICAST , MULTICAST , ALL }
 Options for sending discovery messages. More...
 

Functions

bool pollSockets (const std::vector< int > &_sockets, const int _timeout)
 

Typedef Documentation

🔗raw_type

using raw_type = void