Global Settings GTNet

The GTNet functionality is controlled via specific global parameters. These parameters can be found in the Global Settings view and are identified by the prefix “gt.gtnet”.

Administrator-Managed Parameters

These parameters can be configured by the administrator to customize GTNet behavior.

gt.gtnet.use

Enables or disables the entire GTNet functionality. A value of 0 means disabled, a non-zero value enables GTNet. By default, GTNet is disabled. Without this activation, no data exchange with other instances takes place.

gt.gtnet.use.log

Controls the logging of data exchanges. When enabled (non-zero value), all exchange operations between instances are recorded. These logs can be viewed in the Exchange Log view. Logging is disabled by default and can be enabled for diagnostic purposes or to monitor network activity.

gt.gtnet.lastprice.delay.seconds

Defines an additional delay in seconds for calculating the freshness threshold for last price requests. This value is used together with the watchlist timeout to determine whether a received price is still current enough. Prices older than (current time - watchlist timeout - this delay value) are rejected as stale. The default value is 300 seconds (5 minutes).

System-Managed Parameters

These parameters are automatically set by the system and should not be modified manually.

gt.gtnet.my.entry.id

Contains the unique ID of the own instance in GTNet. This value is automatically set when the own server is registered in the GTNet and Messages view. The ID serves as a reference for identifying the own instance in the network.

gt.gtnet.exchange.sync.timestamp

Stores the timestamp of the last successful synchronization of exchangeable entities. This value is automatically updated after a synchronization process is completed. It is used to determine which entries have changed since the last synchronization.


Status Synchronization Between Servers

GTNet automatically keeps server status information synchronized between connected instances. This section explains when status changes are published to remote servers and when updates from remote servers reach your instance.

Outgoing Status Changes (Your Server → Remote Servers)

Status changes from your server are broadcast to all remote servers with which you have an established communication (completed handshake with exchanged tokens).

Automatic Broadcasts

EventMessage TypeTrigger
Server StartupServer is now onlineWhen the application starts and GTNet is enabled (gt.gtnet.use > 0)
Server ShutdownServer is now offlineWhen the application shuts down gracefully
Busy Status ChangeServer is busy / Server is no longer busyWhen the “Usage Restricted” checkbox is changed in GTNet and Messages
Settings UpdateSettings updatedWhen settings like Daily Request Limit, Accept Request, Server State, or Max Limit are changed in GTNet and Messages

Manual Broadcasts

The following status messages can be sent manually via the context menu in the GTNet and Messages view:

Message TypePurpose
Maintenance PlannedAnnounce a scheduled maintenance window with start and end time
Maintenance CancelledCancel a previously announced maintenance window
Operation DiscontinuedAnnounce permanent service discontinuation with effective date
Operation Discontinuation CancelledCancel a previously announced discontinuation

Incoming Status Changes (Remote Servers → Your Server)

Your server receives status updates from remote servers in two ways:

1. Explicit Status Messages

When a remote server broadcasts a status change (online, offline, busy, maintenance, etc.), your server receives and stores this message. These messages are visible in the message history of the GTNet and Messages view.

2. Automatic Settings Synchronization

Every message received from a remote server includes the sender’s current GTNet configuration in the message envelope. Your server automatically extracts and updates the remote server’s settings from this envelope, ensuring that:

  • Daily request limits are always current
  • Accept request states (Closed, Open, Push-Open) are synchronized
  • Server states (None, Open, Push-Open) are up to date
  • Maximum instrument limits are current

This means that even without explicit status messages, your local copy of a remote server’s settings stays synchronized through regular communication.

Server Lifecycle Events

Application Startup

When your GT server starts:

  1. If gt.gtnet.use is enabled (value > 0), GTNet functionality is activated
  2. An “Server is now online” message is automatically sent to all connected peers
  3. Remote servers update their records to show your server as online

Application Shutdown

When your GT server shuts down gracefully:

  1. An “Server is now offline” message is automatically sent to all connected peers
  2. Remote servers update their records to show your server as offline
Note

If the server crashes or is forcibly terminated, the offline message cannot be sent. In this case, remote servers will only detect the unavailability when they attempt to communicate and receive no response.

Practical Implications

For Administrators

  • Changes made in the GTNet and Messages edit dialog are immediately broadcast to all connected peers
  • No manual action is required to notify peers of configuration changes
  • The message history shows both sent and received status messages for auditing purposes

For Network Participants

  • Your server automatically respects the current limits and states of remote servers
  • When a remote server becomes busy, your server reduces request frequency
  • When a remote server goes offline, no requests are attempted until it comes back online