********************************************
TracAPI 3.15.0
********************************************
This is a final version. It adds some changes in the protocol used to exchange live data. It will be necessary to use
this version to receive live data from the 19/20/2023. It also changes the signatures of some interfaces, breaking
the backward compatibility. These interfaces are:
- Removing the method IControlPassingsListener.gotControlPassings(IRaceCompetitor,IControlPassings). This method is not called by the
implementation. The classes that implement this interface have to update their implementations removing this method. There is
another method with the same name that includes timestamp.
- Updating the methods of the IPositionFactory. This factory should be used only internally so the thirds party apps should
not be affected
1) Features
- The IPosition has a new method to get the true heading (getTrueHeading) (Requested by Radek Masnica, 2023)
- Adding two new entry statuses: STP and SCP (Requested by Radek Masnica, 2023)
2) Bugs
- Updating the protocol to send/receive messages between the dataserver and the library.
- Fixing a bug when the route is updated and it has not metadata attached (reported by Jorge Piera, 11/11/2023)
1) Features
- RaceCompetitorStatusType: New race competitor status type defined:
F_CONFIRMED. Represents a competitor with a control passing registered for the last gate/mark that is accepted as the official result (Requested by Ugo Alvazzi, 26/04/2017)
- WebSockets support: instead of using a TCP connection is possible to retrieve data using WebSockets (using the same protocol used by the HTML Viewer). The protocol is not fully implemented and it only has to be used for testing (Requested by Jorge Piera, 30/04/2017).
- Use an asynchronous API: the dataserver implementation has been migrated to an asynchronous API that provides a better performance downloading replay data (the tests show that is 2.5 times faster).
TracAPI has also adopted this new asynchronous interface but at this moment it continues using the synchronous approach (Requested by Jorge Piera, 03/05/2017)
- Adding the method ISubscriberFactory.clean to release the objects in memory (Requested by André Borud, 01/06/2017)
- Adding the method IPosition.isGPSTiming to know if the time of a position has been retrieved from a physical GPS device (Requested by Jérome Soussens, 21/06/2017)
2) Bugs
- When a static control is updated, the IControlPointPositionListener.gotControlPointPosition event is not called if the consumer application is not registered to the IEventSubscriber (Reported by Axel Uhl, 18/06/2017)
- The live delay sometimes is not propagated. The server always propagates the event but TracAPI can filter it if the IEventSubscriber is not being used or if it has not been correctly initialized using the right live-uri (Reported by Julian Mayland, 21/06/2017)
Change-Id: I5c6b842268558d95491baf35db72f649ba61b032
This makes available new connection methods that support
TimeoutException instead of waiting forever. This now needs to be
integrated.
Change-Id: I81656a258b7a2c99b4375cb953d9ff4ae5aa2f83