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
| Event | Message Type | Trigger |
|---|---|---|
| Server Startup | Server is now online | When the application starts and GTNet is enabled (gt.gtnet.use > 0) |
| Server Shutdown | Server is now offline | When the application shuts down gracefully |
| Busy Status Change | Server is busy / Server is no longer busy | When the “Usage Restricted” checkbox is changed in GTNet and Messages |
| Settings Update | Settings updated | When 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 Type | Purpose |
|---|---|
| Maintenance Planned | Announce a scheduled maintenance window with start and end time |
| Maintenance Cancelled | Cancel a previously announced maintenance window |
| Operation Discontinued | Announce permanent service discontinuation with effective date |
| Operation Discontinuation Cancelled | Cancel 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:
- If
gt.gtnet.useis enabled (value > 0), GTNet functionality is activated - An “Server is now online” message is automatically sent to all connected peers
- Remote servers update their records to show your server as online
Application Shutdown
When your GT server shuts down gracefully:
- An “Server is now offline” message is automatically sent to all connected peers
- 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