Classes | |
class | AdvertiseMessage |
Advertise packet used in the discovery protocol to broadcast information about the node advertising a topic. More... | |
class | AdvertiseMessageOptions |
A class for customizing the publication options for a topic advertised. More... | |
class | AdvertiseOptions |
ignition/transport/AdvertiseOptions.hh More... | |
class | AdvertiseServiceOptions |
A class for customizing the publication options for a service advertised. More... | |
class | Discovery |
A discovery class that implements a distributed topic discovery protocol. More... | |
class | HandlerStorage |
ignition/transport/HandlerStorage.hh More... | |
class | Header |
Header included in each discovery message containing the version of the discovery protocol, the process UUID of the sender node, the type. More... | |
class | IRepHandler |
Interface class used to manage a replier handler. More... | |
class | IReqHandler |
Interface class used to manage a request handler. More... | |
class | ISubscriptionHandler |
ignition/transport/SubscriptionHandler.hh More... | |
class | MessageInfo |
A class that provides information about the message received. More... | |
class | MessagePublisher |
ignition/transport/Publisher.hh More... | |
class | Node |
A class that allows a client to communicate with other peers. More... | |
class | NodeOptions |
A class for customizing the behavior of the Node. More... | |
class | NodeOptionsPrivate |
class | NodePrivate |
class | NodeShared |
Private data for the Node class. More... | |
class | Publisher |
ignition/transport/Publisher.hh More... | |
class | RepHandler |
with the service response. More... | |
class | ReqHandler |
It creates a reply handler for the specific protobuf messages used. More... | |
class | ReqHandler< google::protobuf::Message, google::protobuf::Message > |
class | ServicePublisher |
ignition/transport/Publisher.hh More... | |
class | SubscribeOptions |
ignition/transport/SubscribeOptions.hh More... | |
class | SubscribeOptionsPrivate |
ignition/transport/SubscribeOptionsPrivate.hh More... | |
class | SubscriptionHandler |
It creates a subscription handler for a specific protobuf message. More... | |
class | SubscriptionHandler< ProtoMsg > |
Specialized template when the user prefers a callbacks that accepts a generic google::protobuf::message instead of a specific type. More... | |
class | SubscriptionMsg |
Subscription packet used in the discovery protocol for requesting information about a given topic. More... | |
class | TopicStorage |
Store address information about topics and provide convenient methods for adding new topics, removing them, etc. More... | |
class | TopicUtils |
This class provides different utilities related with topics. More... | |
class | Uuid |
A portable class for representing a Universally Unique Identifier. More... | |
Typedefs | |
template<typename T > | |
using | Addresses_M = std::map< std::string, std::vector< T >> |
template<typename T > | |
using | DiscoveryCallback = std::function< void(const T &_publisher)> |
using | IRepHandlerPtr = std::shared_ptr< IRepHandler > |
using | IReqHandler_M = std::map< std::string, std::map< std::string, IReqHandlerPtr >> |
using | IReqHandlerPtr = std::shared_ptr< IReqHandler > |
using | ISubscriptionHandler_M = std::map< std::string, ISubscriptionHandlerPtr > |
using | ISubscriptionHandlerPtr = std::shared_ptr< ISubscriptionHandler > |
using | MsgAddresses_M = Addresses_M< MessagePublisher > |
template<typename T > | |
using | MsgCallback = std::function< void(const T &_msg, const MessageInfo &_info)> |
using | MsgDiscovery = Discovery< MessagePublisher > |
using | MsgDiscoveryCallback = std::function< void(const MessagePublisher &_publisher)> |
using | ProtoMsg = google::protobuf::Message |
using | ProtoMsgPtr = std::shared_ptr< ProtoMsg > |
using | SrvAddresses_M = Addresses_M< ServicePublisher > |
using | SrvDiscovery = Discovery< ServicePublisher > |
using | SrvDiscoveryCallback = std::function< void(const ServicePublisher &_publisher)> |
using | Timestamp = std::chrono::steady_clock::time_point |
Enumerations | |
enum | Scope_t { Scope_t::PROCESS, Scope_t::HOST, Scope_t::ALL } |
Functions | |
IGNITION_TRANSPORT_VISIBLE std::string | determineHost () |
Determine IP or hostname. More... | |
IGNITION_TRANSPORT_VISIBLE std::vector< std::string > | determineInterfaces () |
Determine the list of network interfaces for this machine. More... | |
bool | env (const std::string &_name, std::string &_value) |
Find the environment variable '_name' and return its value. More... | |
IGNITION_TRANSPORT_VISIBLE std::string | hostname () |
Determine the computer's hostname. More... | |
int | hostnameToIp (char *_hostname, std::string &_ip) |
Determine if an IP is private. More... | |
bool | isPrivateIP (const char *_ip) |
Determine if an IP is private. More... | |
IGNITION_TRANSPORT_VISIBLE std::string | username () |
Determine your login name. More... | |
IGNITION_TRANSPORT_VISIBLE void | waitForShutdown () |
Block the current thread until a SIGINT or SIGTERM is received. More... | |
Variables | |
static const uint8_t | AdvType = 1 |
static const uint8_t | ByeType = 5 |
static const uint8_t | EndConnection = 7 |
static const uint8_t | HeartbeatType = 4 |
const std::string | kGenericMessageType = "google.protobug.Message" |
The string type used for generic messages. More... | |
static const uint64_t | kUnthrottled = std::numeric_limits<uint64_t>::max() |
Constant used when not interested in throttling. More... | |
static const std::vector < std::string > | MsgTypesStr |
Used for debugging the message type received/send. More... | |
static const uint8_t | NewConnection = 6 |
static const uint8_t | SubType = 2 |
static const uint8_t | UnadvType = 3 |
static const uint8_t | Uninitialized = 0 |
using ignition::transport::Addresses_M = typedef std::map<std::string, std::vector<T>> |
using ignition::transport::DiscoveryCallback = typedef std::function<void(const T &_publisher)> |
using ignition::transport::IRepHandlerPtr = typedef std::shared_ptr<IRepHandler> |
using ignition::transport::IReqHandler_M = typedef std::map<std::string, std::map<std::string, IReqHandlerPtr>> |
using ignition::transport::IReqHandlerPtr = typedef std::shared_ptr<IReqHandler> |
using ignition::transport::ISubscriptionHandler_M = typedef std::map<std::string, ISubscriptionHandlerPtr> |
using ignition::transport::ISubscriptionHandlerPtr = typedef std::shared_ptr<ISubscriptionHandler> |
using ignition::transport::MsgAddresses_M = typedef Addresses_M<MessagePublisher> |
using ignition::transport::MsgCallback = typedef std::function<void(const T &_msg, const MessageInfo &_info)> |
using ignition::transport::MsgDiscovery = typedef Discovery<MessagePublisher> |
using ignition::transport::MsgDiscoveryCallback = typedef std::function<void(const MessagePublisher &_publisher)> |
using ignition::transport::ProtoMsg = typedef google::protobuf::Message |
using ignition::transport::ProtoMsgPtr = typedef std::shared_ptr<ProtoMsg> |
using ignition::transport::SrvAddresses_M = typedef Addresses_M<ServicePublisher> |
using ignition::transport::SrvDiscovery = typedef Discovery<ServicePublisher> |
using ignition::transport::SrvDiscoveryCallback = typedef std::function<void(const ServicePublisher &_publisher)> |
using ignition::transport::Timestamp = typedef std::chrono::steady_clock::time_point |
|
strong |
IGNITION_TRANSPORT_VISIBLE std::string ignition::transport::determineHost | ( | ) |
Determine IP or hostname.
Reference: https://github.com/ros/ros_comm/blob/hydro-devel/clients/ roscpp/src/libros/network.cpp
IGNITION_TRANSPORT_VISIBLE std::vector<std::string> ignition::transport::determineInterfaces | ( | ) |
Determine the list of network interfaces for this machine.
Reference: https://github.com/ros/ros_comm/blob/hydro-devel/clients/ roscpp/src/libros/network.cpp
Referenced by ignition::transport::Discovery< Pub >::Discovery().
bool ignition::transport::env | ( | const std::string & | _name, |
std::string & | _value | ||
) |
Find the environment variable '_name' and return its value.
[in] | _name | Name of the environment variable. |
[out] | _value | Value if the variable was found. |
Referenced by ignition::transport::Discovery< Pub >::Discovery().
IGNITION_TRANSPORT_VISIBLE std::string ignition::transport::hostname | ( | ) |
Determine the computer's hostname.
int ignition::transport::hostnameToIp | ( | char * | _hostname, |
std::string & | _ip | ||
) |
Determine if an IP is private.
[in] | _hostname | Hostname |
[out] | _ip | IP associated to the input hostname. |
bool ignition::transport::isPrivateIP | ( | const char * | _ip | ) |
Determine if an IP is private.
Reference: https://github.com/ros/ros_comm/blob/hydro-devel/clients/ roscpp/src/libros/network.cpp
[in] | _ip | Input IP address. |
IGNITION_TRANSPORT_VISIBLE std::string ignition::transport::username | ( | ) |
Determine your login name.
IGNITION_TRANSPORT_VISIBLE void ignition::transport::waitForShutdown | ( | ) |
Block the current thread until a SIGINT or SIGTERM is received.
Note that this function registers a signal handler. Do not use this function if you want to manage yourself SIGINT/SIGTERM.
|
static |
Referenced by ignition::transport::Discovery< Pub >::Advertise().
|
static |
Referenced by ignition::transport::Discovery< Pub >::~Discovery().
|
static |
|
static |
const std::string ignition::transport::kGenericMessageType = "google.protobug.Message" |
The string type used for generic messages.
Referenced by ignition::transport::HandlerStorage< ignition::transport::ISubscriptionHandler >::FirstHandler(), ignition::transport::TopicStorage< ignition::transport::MessagePublisher >::HasTopic(), and ignition::transport::SubscriptionHandler< ProtoMsg >::TypeName().
|
static |
Constant used when not interested in throttling.
|
static |
Used for debugging the message type received/send.
|
static |
|
static |
Referenced by ignition::transport::Discovery< Pub >::Discover().
|
static |
Referenced by ignition::transport::Discovery< Pub >::Unadvertise().
|
static |