When a Login request message asks for connection configuration information (i.e., DownloadConnectionConfig = 1), a provider capable of supplying these details should respond with extended connection information in the RefreshMsg payload. This information can be useful for load balancing connections across multiple providers or LSEG Real-Time Advanced Distribution Server components. Load balancing can be set up in a manner where some well-known providers act solely as load-balancing servers, monitoring the load and state of other providers and directing consumers to less-loaded providers to handle the information exchange.
The extended connection information contains a list of other providers, along with connection and load-related information, and is formatted as a sorted Vector type, where each VectorEntry contains an ElementList. Each vector entry contains data specific to one provider. The summary data (an ElementList) contains information about the number of standby providers to which the consumer should connect. If this value is non-zero, the consumer is expected to support Warm Standby functionality and connect to multiple providers.
The list should be sorted in order of best to worst choice.
Figure 5. Login Refresh Message Payload
When the payload is present, the summary data ElementList must contain the following element (which has no default):
Specifies the number of standby servers to which the client can connect.
If set to 0, only one provider is connected, which serves as the primary connection (i.e., warm standby should not be attempted).
Each VectorEntry contains an ElementList, each list describing a single provider. Possible elements in this list are as follows, with any default behavior included in the description:
Table 14: ElementList Contents
NAME
TYPE
RANGE/EXAMPLE
DESCRIPTION
Hostname
ASCII
“myHostName”
“192.168.1.100”
Conditional. Specifies the candidate provider’s IP address or hostname. Hostname is required when a payload is present.
Port
UInt
14002
Conditional. Specifies the candidate provider’s port number. Port is required when a payload is present.
LoadFactor
UInt
0 - 65535
Describes the load of the provider, where 0 is the least loaded and 65535 is the most loaded. The Vector is expected to be sorted, so a consumer need not traverse the list to find the least loaded; the first VectorEntry should contain an ElementList describing the least-loaded provider.
LoadFactor defaults to 65535.
ServerType
UInt
0 | 1
When using a warm standby setup, ServerType specifies the provider’s expected behavior:
• 0: This provider should be the Active server.
• 1: This provider should be the Standby server. 1 is the default setting.