Gazebo Transport

API Reference

12.2.2
Environment Variables

Next Tutorial: Development Previous Tutorial: Logging

Overview

Similar to how you can programatically customize the behavior of your nodes or specify some options when you advertise a topic, it is possible to use an environment variable to tweak the behavior of Gazebo Transport. Below are descriptions of the available environment variables:

  • GZ_DISCOVERY_MSG_PORT
    • Value allowed: Any non-negative number in range [0-65535]. In practice you should use the range [1024-65535].
    • Description: UDP port used for message discovery. The default value is 10317.
  • GZ_DISCOVERY_MULTICAST_IP
    • Value allowed: Any multicast IP address
    • Description: Multicast IP address used for communicating all the discovery messages. The default value is 239.255.0.7.
  • GZ_DISCOVERY_SRV_PORT
    • Value allowed: Any non-negative number in range [0-65535]. In practice you should use the range [1024-65535].
    • Description: UDP port used for service discovery. The default value is 10318.
  • GZ_IP
    • Value allowed: Any local IP address
    • Description: When you have multiple IP addresses for a computer and need to force Gazebo Transport to use a particular one. This setting is only required if you advertise a topic or a service. If you are only subscribed to topics or requesting services you don't need to use this option because the discovery service will try all the available network interfaces during the search of the topic/service.
  • GZ_PARTITION
    • Value allowed: Any partition value
    • Default value: <HOSTNAME>:<USERNAME> where <HOSTNAME> is the hostname of the current machine and <USERNAME> is the name of the user launching the node.
    • Description: Specifies a partition name for all the nodes declared inside this process. Note that an alternative partition name declared programatically and passed to the constructor of a Node class will take priority over GZ_PARTITION.
  • GZ_RELAY
    • Value allowed: Colon delimited list of IP addresses
    • Description: Connects the nodes of two or more different networks separated by routers. Routers do not forward UDP multicast traffic, so the regular discovery protocol only works when nodes are within the same local network. If you feel the need to connect these networks, make sure to have one node pointing to the IP address of another node from the other network. Note that only one IP_RELAY link is needed for bidirectional communication between nodes of two different networks.
  • GZ_TRANSPORT_LOG_SQL_PATH
    • Value allowed: Any path
    • Description: Path to the SQL files used by logging. This does not normally need to be set. It is useful to developers who are testing changes to the schema, and it is used by unit tests.
  • GZ_TRANSPORT_PASSWORD
    • Value allowed: Any string value
    • Description: A password, used in combination with GZ_TRANSPORT_USERNAME, for basic authentication. Authentication is enabled when both GZ_TRANSPORT_USERNAME and GZ_TRANSPORT_PASSWORD are specified.
  • GZ_TRANSPORT_RCVHWM
    • Value allowed: Any non-negative number.
    • Description: Specifies the capacity of the buffer (High Water Mark) that stores incoming Gazebo Transport messages. Note that this is a global queue shared by all subscribers within the same process. A value of 0 means "infinite" capacity. As you can guess, there's no such thing as an infinite buffer, so your buffer will grow until you run out of memory (and probably crash). If your buffer reaches the maximum capacity data will be dropped.
    • Default value: 1000.
  • GZ_TRANSPORT_SNDHWM
    • Value allowed: Any non-negative number.
    • Description: Specifies the capacity of the buffer (High Water Mark) that stores outgoing Gazebo Transport messages. Note that this is a global queue shared by all publishers within the same process. A value of 0 means "infinite" capacity. As you can guess, there's no such thing as an infinite buffer, so your buffer will grow until you run out of memory (and probably crash). If your buffer reaches the maximum capacity data will be dropped.
    • Default value: 1000.
  • GZ_TRANSPORT_TOPIC_STATISTICS
    • Value allowed: 1/0
    • Description: Enable topic statistics. A value of 1 will enable topic statistics by sending metadata with each message. A node must additionally turn on statistics for a topic in order to produce results. The publish and subscriber must use the same value, otherwise they won't be able to communicate.
    • Default value: 0
  • GZ_TRANSPORT_USERNAME
    • Value allowed: Any string value
    • Description: A username, used in combination with GZ_TRANSPORT_PASSWORD, for basic authentication. Authentication is enabled when both GZ_TRANSPORT_USERNAME and GZ_TRANSPORT_PASSWORD are specified.
  • GZ_VERBOSE
    • Value allowed: 1/0
    • Description: Show debug information.