rvcache

Command

Syntax

rvcache   -store filename
         [-http [ip_address:]http_port]
         [-https [ip_address:]https_port]
         [-http-only]
         [-https-only]
         [-no-http]
         [-idle]
         [-sync interval]
         [-merge shallow | deep]
         [-memory-only]
         [-tls-min-proto-version version]
         [-tls-max-proto-version version]
         [-tls-ciphers string1:string2:stringN]
         [-tls-ciphersuites name1:name2:nameN]

Purpose

The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached data to new listeners.

Remarks

Given a set of one or more subject names, rvcache listens for messages addressed to those subjects. Each time it receives such a message, it stores the message’s data content.

When a client program queries for a cached subject, rvcache sends a reply message with the current cached value.

Browser Administration Interface

To administer or configure rvcache, view http://rvcache_host:http_port with a web browser. When the program starts, it prints the actual HTTP administration port.

State

rvcache can run in either of two states—running or idle.

When running, rvcache listens to subjects, caches message values, and responds to queries.

When idle, rvcache does not operate; however, the browser administration interface is available for configuring parameters.

Initial Subject Configuration

The first time you run rvcache, you must configure its subjects and change its state to running. After that, rvcache reads the subject list from its file.

Storage

rvcache stores the data in process memory and in a disk file. The command line parameter -store specifies the name of the disk file; if the file exists when rvcache starts, then rvcache reads the file to initialize its configuration parameters and to populate its cache in process memory.

The command line parameter -sync specifies the interval at which to synchronize the file-based store with process-based store.

Command Line Parameters

Parameter

Description

-store filename

Use filename to record parameter configuration and for persistent cache storage. For best performance, use a local file system (remote file servers can cause delays and synchronization difficulties).

For more information, see Storage.

See also Store Files.

-http ip_address:http_port

-http http_port

-https ip_address:https_port

-https https_port

The browser administration interface accepts connections on this HTTP or HTTPS port. Permit administration access only through the network interface specified by this IP address.

To limit access to a browser on the rvcache 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 or HTTPS port.

If the explicitly specified HTTP port is already occupied, the program exits.

If the explicitly specified HTTPS port is already occupied, the program selects an ephemeral port.

When the -http parameter is entirely absent, the default behavior is to accept connections from any computer on HTTP port 7581; If this default port is unavailable, the operating system assigns an ephemeral port number.

When the -https parameter is entirely absent, the default behavior is to accept secure connections from any computer on an ephemeral HTTPS port.

In all cases, the program prints (in its start banner and log file) the actual HTTP and HTTPS ports where it accepts browser administration interface connections.

-http-only

Disable HTTPS (secure) connections, leaving only an HTTP (non-secure) connection.

-https-only

Disable HTTP (non-secure) connections, leaving only an HTTPS (secure) connection.

-no-http

Disable all HTTP and HTTPS connections, overriding -http and -https.

-idle

When present, start rvcache in its idle state.

When absent, start rvcache in its running state—caching values and responding to queries. However, if subjects are not configured, rvcache begins in its idle state.

You can toggle the state at any time using the browser administration interface.

-merge shallow | deep

For subjects that cache by merging the new value into the stored value, two types of merge behavior are available. When present, this parameter selects that behavior for all merged subjects. For complete details, see Replace and Merge.

When absent, the default behavior is shallow merging.

-memory-only

When present, rvcache keeps cached values in process memory only; it does not write values to the store file. Nor does it read initial values from the store file at start time. For details, see Memory-Only Mode.

When absent, rvcache writes cached values to the store file.

-sync interval

The synchronization behavior of operating systems varies. You can use this parameter to balance message processing speed against disk synchronization guarantees.

When absent, rvcache relies on the operating system for all synchronization. rvcache opens the store file in synchronous write mode—that is, the operating system writes every message to the file system before the write call returns.

When present, rvcache explicitly synchronizes data to the file system at this interval. rvcache opens the store file in asynchronous write mode—that is, write calls return independently of disk operations, and the operating system completes disk writes on its own schedule. Explicitly synchronizing at a fixed interval limits exposure to loss by enforcing an upper bound—though the operating system might also synchronize between intervals (reducing exposure even further).

-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-tls-ciphersuites name1:name2:nameN

Configure the available TLSv1.3 ciphersuites using OpenSSL call SSL_CTX_set_ciphersuites.

Browser Administration Interface

Parameter

Description

information

This page displays general information about the rvcache process.

change state

State

Toggle between idle and running.

When running, rvcache listens to its cache subjects, caches values, and responds to queries.

When idle, rvcache does not operate; however, the browser administration interface is available for configuring parameters.

The program does not store this parameter.

certificates

This page lets you configure the certificates that rvcache uses to identify itself to web browsers. For more information, see the analogous section for secure daemons, Certificates.

security

These parameters control access to the configuration pages of the rvcache browser administration interface.

connection

rvcache uses these parameters to create its network transport object.

For general explanations, see Network Details.

Service

See Service Selection.

Network

See Network Selection.

Daemon

See Daemon Client Socket—Establishing Connections.

fault tolerance

Enable

Enable or disable fault-tolerant operation.

The remaining parameters in this group apply only when fault tolerance is enabled.

Service

Use this UDP service for fault tolerance control messages between rvcache member processes.

The default value is rendezvous-ft; if the operating system cannot interpret that service name, then the secondary default is UDP port 7504.

Network

Use this network for fault tolerance control messages between rvcache member processes.

The default value is the computer’s primary network interface.

Group

Use this string as the name of the rvcache fault tolerance group.

Processes with the same group name cooperate to provide fault-tolerant service.

The default value is RVCACHE.

Weight

Set the weight of this rvcache process.

Weight specifies relative precedence among fault-tolerant processes. A process with greater weight takes precedence over a process with lesser weight.

The default value is 10.

Heartbeat

Use this floating point value (in seconds) as the fault tolerance heartbeat interval.

Members of a fault tolerance group send status reports at this interval. We recommend that this value be slightly less than one third of the activation interval.

The default value is 3 seconds.

Activation

Use this floating point value (in seconds) as the fault tolerance activation interval.

This value represents the longest interruption in service before the partner process activates. It must be the same for all members of a fault tolerance group.

The default value is 10 seconds.

subjects

Subjects

To see information about a specific subject, click that subject in the current subject list.

You can add new subjects or remove current subjects at any time.

For more information, see Replace and Merge.

XML Configure

View the current configuration as an XML document, and reconfigure the component by submitting an edited XML document.