.. _vnx.Proxy: vnx.Proxy ========= .. cpp:namespace:: vnx::Proxy Module ------ The `vnx.Proxy` module provides a way to connect to another :ref:`vnx.Server`. Options ------- .. cpp:member:: string address URL to connect to, for example ``localhost:1234`` (TCP/IP) or ``/tmp/mysocket.sock`` for a UNIX socket. If no TCP port is specifed (ie. ``localhost``) a default port of ``4444`` is used. If no IP address is specified (ie. ``:1234``) a default of ``localhost`` is used. .. cpp:member:: vector import_list List of topics to import from the sever. .. cpp:member:: vector export_list List of topics to export to the server. .. cpp:member:: vector forward_list List of services to forward to the server. Usually a service is a module's name. Requests to these services are then sent to the server who will forward them to the actual modules processing them. Return messages are automatically routed back to the clients. .. cpp:member:: map tunnel_map Same as `forward_list` but with a different service address locally [`local alias` => `remote service name`]. Will forward requests on the ``Hash64`` address to the ``string`` service on the server. ``string`` service names are converted to a ``Hash64`` address internally. See :ref:`vnx.Hash64`. .. cpp:member:: map import_map Same as ``import_list`` but will map to a different topic name locally. [`remote name` -> `local name`] .. cpp:member:: map export_map Same as ``export_list`` but will map to a different topic name on the server. [`local name` -> `remote name`] .. cpp:member:: bool auto_import = false If to import all subscribed to topics from the server. Only used in special cases, since most of the time it leads to network loops. .. cpp:member:: bool time_sync = false If to syncronize local virtual time with the server. Same as importing the ``vnx.time_sync`` topic. ``vnx::get_time_*()`` functions will then return a time which is in sync with the server. .. cpp:member:: bool block_until_connect = true If to block client requests until first sucessful connect. .. cpp:member:: bool block_until_reconnect = false If to block client requests until next sucessful reconnect, in case connection breaks down. .. cpp:member:: int max_queue_ms = 100 Maximum queue length in [ms] for receiving data internally, 0 = unlimited. If the network is overloaded at most this amount of data (in terms of latency) will be buffered internally before starting to drop messages. This queue is in addition to the internal TCP send buffer. .. cpp:member:: int max_queue_size = 1000 Maximum queue size in [number of messages] for receiving data internally, 0 = unlimited. Similar to `max_queue_ms`. .. cpp::member:: int max_hop_count = 10 Maximum hop count for messages, if exceeded will drop messages. .. cpp:member:: int recv_buffer_size = 0 TCP receive buffer size (0 = default) [bytes] .. cpp:member:: int send_buffer_size = 131072 TCP send buffer size, bigger equals more latency in case of network overload. (0 = default) [bytes] .. cpp:member:: string default_access = "DEFAULT" Default access level for anonymous clients, see :ref:`users`. Only if `use_authentication = true`, otherwise there are no restrictions, ie. full permissions to any user.