Open topic with navigation

TIBCO Rendezvous® 8.7.0

# rvd

Command

## Syntax

    rvd  [-http [ip_address:]http_port]
         [-no-http]
         [-listen [socket_protocol:|ip_address:]tcp_port]
         [-no-permanent]
         [-no-lead-wc | -lead-wc]
         [-no-multicast]
         [-reliability time]
         [-max-consumer-buffer size]
         [-rxc-max-loss loss]
         [-rxc-recv-threshold bps]
         [-rxc-send-threshold bps]
         [-reuse-port inbox_port]
         [-logfile log_filename]
         [-log-max-size size]
         [-log-max-rotations n]
         [-foreground]
         [-udp-buffer-size size]
         [-udp-ttl hops]
         [-transport-batch-size size]
         [-tls-min-proto-version version]
         [-tls-max-proto-version version]
         [-tls-ciphers string1:string2:stringN]
         [-tls-ciphersuites name1:name2:nameN]
         [-no-wc]

## Purpose

The command `rvd` starts the Rendezvous daemon process. The Rendezvous daemon is the network I/O handler for all Rendezvous programs on a computer.

## Remarks

Usually, the Rendezvous daemon (`rvd`) process starts automatically. When a Rendezvous program creates a transport, Rendezvous software determines whether a daemon is already listening for connections (as specified by the `daemon` parameter). If so, the new transport connects to that daemon. If not, it automatically starts a new daemon and connects to it.

However, when the `daemon` parameter of the transport creation call specifies a remote daemon, the daemon does not start automatically—you must start it manually on the remote computer.

The `rvd` command starts the Rendezvous daemon manually. You might do this to specify optional parameters, or a start a daemon that will accept connections from programs running on remote computers.

When started automatically by a client, `rvd` can also exit automatically. If `rvd` is not connected to any valid client transports for 1 minute, then `rvd` automatically exits. However, when started manually, `rvd` does not exit automatically. To override this behavior, start it manually with the`-no-permanent` option.

The Rendezvous routing daemon (`rvrd`) subsumes the behavior of `rvd`, so it is usually not necessary to run `rvd` on computers that already run `rvrd`.

## IPM

TIBCO Rendezvous® Server In-Process Module (IPM) uses many of the same parameters as `rvd`, with parallel behavior. The table of parameters below notes exceptions to this rule.

## Command Line Parameters

Parameter | Description
`-http` `ip_address``:``http_port` `-http` `http_port` | The browser administration interface accepts connections on this HTTP port. Permit administration access only through the network interface specified by this IP address. To limit access to a browser on the `rvd` host computer, specify `127.0.0.1` (the local host address). When the IP address is absent, the daemon accepts connections through any network interface on the specified HTTP port. If the explicitly specified port is already occupied, the program exits. When this parameter is entirely absent, the default behavior is to accept connections from any computer on HTTP port `7580`. If this default port is unavailable, the operating system assigns an ephemeral port number. In all cases, the program prints the actual HTTP port where it accepts connections. This parameter is not available with IPM.
`-no-http` | Disable all HTTP connections, overriding `-http`. This parameter is not available with IPM.
`-listen` `tcp_port` `-listen` `ip_address``:``tcp_port` `-listen` `socket_protocol``:``tcp_port` | `rvd` (and by extension, `rvrd` operating within the local network) opens a TCP client socket to establish communication between itself and its client programs. The `-listen` parameter specifies the TCP port where the Rendezvous daemon listens for connection requests from client programs. This `-listen` parameter of `rvd` corresponds to the `daemon` parameter of the transport creation call (they must specify the same TCP port number). The IP address specifies the network interface through which this daemon accepts TCP connections. To bar connections from remote programs, specify IP address `127.0.0.1` (the loopback interface). When the IP address is absent, the daemon accepts connections from any computer on the specified TCP port. When this parameter is entirely absent, the default behavior is to accept connections from any computer on TCP port 7500. For more detail about the choreography that establishes conduits, see Daemon Client Socket—Establishing Connections. Warning This parameter does not correspond to the `service` parameter of the transport creation call—but rather to the `daemon` parameter. This parameter is not available with IPM.
`-no-permanent` | If present (or when `rvd` starts automatically), `rvd` exits after 1 minute during which no transports are connected to it. If not present, `rvd` runs indefinitely until terminated. This parameter is not available with IPM.
`-permanent` | This flag is deprecated in release 7.0 and later. To preserve backward compatibility with existing scripts, `rvd` ignores this flag, rather than rejecting it. This parameter is not available with IPM.
`-no-lead-wc |` `-lead-wc` | Sending to subjects with lead wildcards (for example, `>` or `*.foo`) can cause unexpected behavior in some applications, and cause network instability in some configurations. This option lets you selectively screen wildcard sending. When `-no-lead-wc` is present, the daemon quietly rejects client requests to send outbound messages to subjects that contain wildcards in the lead element. The daemon does not report excluded messages as errors. When `-lead-wc` is present (or when neither flag is present), the daemon allows sending messages to subjects with lead wildcards. This parameter is not available with IPM.
`-no-multicast` | When present, the daemon disables multicast (and broadcast) communication. For details, see Disabling Multicast. This parameter is not available with IPM.
`-reliability` `time` | Rendezvous daemons compensate for brief network failures by retaining outbound messages, and retransmitting them upon request. This parameter is one of several ways to control the message reliability interval. For a complete discussion the concept of reliability, the various ways to control it, the interaction among those ways, and reasonable values, see Reliability and Message Retention Time. If this parameter is absent, `rvd` uses the factory default (60 seconds). If this parameter is present, `rvd` (and by extension, `rvrd` operating within the local network) retains messages for `time` (in seconds). The value must be a non-negative integer.
`-max-consumer-buffer` `size` | When present, the daemon enforces this upper bound (in bytes) on each consumer buffer (the queue of messages for a client transport). When data arrives faster than the client consumes it, the buffer overflows this size limit, and the daemon discards the oldest messages to make space for new messages. The client transport receives a `CLIENT.SLOWCONSUMER` advisory. When absent or zero, the daemon does not enforce a size limit on the consumer buffer. (However, a 60-second time limit on messages still limits buffer growth, independently of this parameter.) This parameter is not available with IPM.
`-rxc-max-loss` `loss` `-rxc-recv-threshold` `bps` `-rxc-send-threshold` `bps` | These three parameters configure the retransmission control (RXC) feature, which suppresses retransmission requests from chronically-lossy receivers. If `-rxc-max-loss` is absent or zero, then RXC is disabled. If it is an integer in the range `[1,100]`, it determines the maximum percentage acceptable loss rates above which a receiver is considered chronically-lossy. `-rxc-recv-threshold` configures the threshold receive rate (in bits per second) above which a chronically-lossy receiver censors its own retransmission requests. When absent, the default value is zero (always censor a chronically-lossy receiver). `-rxc-send-threshold` configures the threshold send rate (in bits per second) above which the daemon suppresses (that is, ignores requests from) chronically-lossy receivers. When absent, the default value is zero (always suppress retransmissions to chronically-lossy receivers). For a complete explanation, see Retransmission Control .
`-reuse-port` `inbox_port` | When present, other daemons on the same host computer can reuse service ports. When absent, other daemons cannot reuse a service port that is in use by this daemon. For correct operation, all the daemons that use a common service port on a host computer must specify this option. For background and details, see Reusing Service Ports. The `inbox_port` argument (required) specifies the UDP port that this daemon uses for point-to-point communications. This value must be unique for each daemon (that reuses service ports) on a common host computer. Furthermore, you must not use the `inbox_port` in any transport specification on the same host computer.
`-logfile` `log_filename` | Send log output to this file. When absent, the default is `stderr`.
`-log-max-size` `size` `-log-max-rotations` `n` | When present, activate the log rotation regimen (see Log Rotation). When you specify these options, you must also specify `-logfile`. `size` is in kilobytes. If `size` is non-zero, it must be in the range [100, 2097152]. Values outside this range are automatically adjusted to the nearest acceptable value. Zero is a special value, which disables log rotation. When `-log-max-size` is zero or absent, a single log file may grow without limit (other than the limit of available storage). `n` indicates the maximum number of files in the rotation. When `-log-max-rotations` is absent, the default value is 10.
`-foreground` | Available only on UNIX platforms. When present, `rvd` runs as a foreground process. When absent, `rvd` runs as a background process. This parameter is not available with IPM.
`-udp-buffer-size` `size` | UDP Buffer Size When present, the daemon requests buffers of this `size` (in bytes) for inbound and outbound UDP multicast. (Operating system constraints can limit this request.) The value of `size` must be a non-negative integer. When absent or zero, the daemon requests the default buffer size, 16MB (16*1024*1024 bytes). In most situations we recommend the default buffer size. In some situations larger outbound buffers can yield higher throughput, at the cost of longer latency (waiting for the operating system to flush the buffer). You can use rvlat to empirically test the effect on latency. In some situations larger inbound buffers can reduce the probability that the operating system cannot write packets into a full buffer (such events trigger retransmission requests, which increase network bandwidth usage).
`-udp-ttl` `hops` | UDP TTL When present, the daemon sends UDP packets with a TTL value of `hops` (a positive integer, less than or equal to 256). When absent, the default TTL is 16 hops.
`-transport-batch-size` `size` | IPM Transport Batch Size When present, enable outbound batching of data from IPM, and set the batch size (in bytes). When the batch size is greater than zero, IPM transfers data to the network in batches. This option can increase throughput, at the cost of higher latency. When absent, the batch size is zero, and IPM transfers data to the network immediately, for lowest latency. This parameter is available only with IPM.
`-tls-min-proto-version` `version` `-tls-max-proto-version` `version` | Set the minimum or maximum supported protocol versions for the ctx using OpenSSL calls `SSL_CTX_set_min_proto_version and SSL_CTX_set_max_proto_version`.
`-tls-ciphers` `string1:string2:stringN` | Set the list of available ciphers (TLSv1.2 and earlier) using OpenSSL call `SSL_CTX_set_cipher_list`.
`-tls-ciphersuites` `name1:name2:nameN` | Configure the available TLSv1.3 ciphersuites using OpenSSL call `SSL_CTX_set_ciphersuites`.
`-no-wc` | Silently drop any messages published by clients that contain any wildcard tokens.

## Utility Scripts

You can create utilities to start Rendezvous daemons with specific command line arguments. For models, see the sample `rvd` scripts (or the sample Windows program `rvd.c`) in the Rendezvous subdirectory `src/examples/utilities/`.

You can use such utilities to customize daemon behavior; for example, your utilities can select 64-bit daemons, or specify log file parameters or reliability parameters.

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO Rendezvous®

Copyright © 1997-2023. Cloud Software Group, Inc. All Rights Reserved.