vnx.Proxy

Module

The vnx.Proxy module provides a way to connect to another vnx.Server.

Options

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.

vector<string> import_list

List of topics to import from the sever.

vector<string> export_list

List of topics to export to the server.

vector<string> 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.

map<Hash64, string> 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 vnx.Hash64.

map<string, string> import_map

Same as import_list but will map to a different topic name locally. [remote name -> local name]

map<string, string> export_map

Same as export_list but will map to a different topic name on the server. [local name -> remote name]

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.

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.

bool block_until_connect = true

If to block client requests until first sucessful connect.

bool block_until_reconnect = false

If to block client requests until next sucessful reconnect, in case connection breaks down.

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.

int max_queue_size = 1000

Maximum queue size in [number of messages] for receiving data internally, 0 = unlimited. Similar to max_queue_ms.

int recv_buffer_size = 0

TCP receive buffer size (0 = default) [bytes]

int send_buffer_size = 131072

TCP send buffer size, bigger equals more latency in case of network overload. (0 = default) [bytes]

string default_access = "DEFAULT"

Default access level for anonymous clients, see User Management. Only if use_authentication = true, otherwise there are no restrictions, ie. full permissions to any user.