- private void pollStatistics() {
- for (final StatisticsContext statisticsContext : contexts.values()) {
- ListenableFuture deviceStatisticsCollectionFuture = statisticsContext.gatherDynamicData();
- Futures.addCallback(deviceStatisticsCollectionFuture, new FutureCallback() {
- @Override
- public void onSuccess(final Object o) {
- //nothing to do here
- }
+ private void pollStatistics(final DeviceContext deviceContext,
+ final StatisticsContext statisticsContext,
+ final TimeCounter timeCounter) {
+ timeCounter.markStart();
+ ListenableFuture<Boolean> deviceStatisticsCollectionFuture = statisticsContext.gatherDynamicData();
+ Futures.addCallback(deviceStatisticsCollectionFuture, new FutureCallback<Boolean>() {
+ @Override
+ public void onSuccess(final Boolean o) {
+ timeCounter.addTimeMark();
+ calculateTimerDelay(timeCounter);
+ scheduleNextPolling(deviceContext, statisticsContext, timeCounter);
+ }