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
We have released a new version of the TracAPI 3.0.11 that is is 100%
compatible with the previous 3.0.x releases [1].
This is a final version. It fixes bugs in the implementation and it adds
a some features. These features add methods to the API, but they keep
the backward compatibility. This version provides a new JavaDoc version [2].
1) Features
- Adding the method IRace.setInitialized(boolean) that allows to load
control point positions although the race is not initialized (Requested
by Jorge Piera, 17/05/2015)
1) Bugs
- The subscription library sends (per each control point) an
"ControlPointPosition" event with the positions of the parameters with
a time stamp equals to the tracking start time. If the control point
is static (it doesn't have a tracker), it means that this control won't
exist until the tracking start time arrives: it is not possible to open
a subscription connection before the tracking start time and see the
control point. But if the control is static, it has to exist during
all the event. Now when a control is static, the subscription library
sends a "ControlPointPosition" event with the event start time and then
it sends other "ControlPointPosition" event with the tracking start
time. It allows to connect with future races and see the static controls
(Requested by Jakob Odum, 25/02/2015)
- It is possible to add two or more subscriptions for the same
subscriber (Reported by Jorge Piera, 02/05/2015)
- If a race is in a not initialized state and it is loaded using the
parameters file, the library assumes that the consumer application wants
to load the race and it changes its initialized attribute to true. This
assumption is wrong. Now, if a race is not initialized it will continue
being uninitialized until the event administrator changes its state to
initialized (Reported by Axel Uhl, 17/05/2015)