The Fosstrak Filtering and Collection middleware notifies its subscribers with the desired reports. This guide should give you a brief overview how the subscribers are notified. There are three variants of notification:
To get a report an application has to subscribe itself to an already existing ECSpec using the Filtering and Collection client or webclient. The subscription has the form of an URI defining a host and a port for the later transfer of the ECReports. The Filtering and Collection middleware gets the corresponding ReportsGenerator using the name of the ECSpec.
Every time an Event Cycle is finished, each requested report is generated by the report class and sent to the ReportsGenerator. The ReportsGenerator notifies all subscribers in its list of subscribers by forwarding the received reports to the subscribers' URIs.
Poll and Immediate Reports Notification offer the possibility of a query response inquiry where the ECReports are directly returned as results of the methods. During these two methods the Filtering and Collection middleware sets a polling flag of the involved ReportsGenerator true.
The method poll registers itself to an already defined ECSpec and waits until the first EventCycle is terminated and the ECReports are generated. Instead of registering itself with an URI, where the ECReports are should be sent to, the ECReports are returned directly to the method.
The only difference between the methods poll and immediate are, that immediate has a whole ECSpec as an argument instead of a name of a already defined ECSpec. When the method immediate is executed, a new ReportsGenerator is generated with the specified ECSpec. Then a poll is executed on the newly build ReportsGenerator.