The SportsEventServer is the program in the background doing all the data processing. When working offline, you can access it through the icon in the tray bar:
In detail, the SportsEventServer (SES) does the following:
- As the local server, the SES manages TCP/IP connections to the various programs on various computers in your local network.
- It accepts job request from these programs. A job can either be a write job (change participant data, add a time, change a setting, etc.) or a read job (retrieving settings, performing a data query, etc.). The server prioritizes the job requests and processes them.
- At all times, the server ensures data consistency: it always knows which information needs to be calculated or updated.
Real Time Scoring
For a race, it is not only important that you can make any kind of scoring (flexibility), but also that these calculations will be performed very fast with virtually no delay. During the race you may need instant real time information without any delay in order to be able to show it on a live screen or even in TV graphics.
For this reason, the SportsEventServer in the background performs almost every calculation in real time, i.e. whenever some data is changed (e.g. a new lap time added), the server will recalculate and update all depending data (e.g. number of laps, fastest lap, slowest lap, rank of this rider and other riders). Therefore, the server analyzes the dependencies in the event file and thus knows which information may need to be updated if some data was changed. This dependency tree of your event can be seen in Overview->Technical Information.
Most events are fairly simply, but if you think of an event like the Tour de France, you can imagine that an event file can have hundreds of results and dozens of ranks with long dependency trees. There are results for each day, special sprint scores, overall scores, and so on.
Real Time Limits
Note that not everything can be calculated in real time:
- Team scores will be updated in real time only if the real time option is activated in the settings.
- A formula result will not be calculated in real time if it depends on a rank or a team score.
- Everything that depends on something that is not being calculated in real time cannot be calculated in real time either.
If something is not being calculated in real time, it will simply be calculated when needed: if you open a result list based on a non-real time team score, the system will calculate the team score first before creating the list. This will create an additional delay of a few milliseconds or seconds depending on the size of the event.