private async void SaveMeasurement (TimeCorrectionData data)
 {
     var dataStore = ServiceContainer.Resolve<IDataStore> ();
     await dataStore.ExecuteInTransactionAsync (ctx => {
         ctx.PurgeDatedTimeCorrections (data.MeasuredAt - TimeSpan.FromDays (1));
         ctx.Put (data);
     }).ConfigureAwait (false);
 }
        public void AddMeasurement (TimeCorrectionData data)
        {
            lock (syncRoot) {
                sample.Enqueue (data);
                lastCorrection = null;

                while (sample.Count >= SampleSize) {
                    sample.Dequeue ();
                }
            }
        }