Скажем, у меня есть Observable<LogEntry>
, где LogEntry
имеет свойство TimeStamp
(среди прочего, конечно). LogEntry
s создаются путем чтения файла журнала.Задержка Наблюдается за промежуток времени между вторым последним и последним
public IObservable<LogEntry> GetLogRecords()
{
return Observable.Create<LogEntry>(
(IObserver<LogEntry> observer) =>
{
var lines = File.ReadLines(this.filePath);
var enumerator = lines.GetEnumerator();
while (enumerator.MoveNext())
{
string line = enumerator.Current;
if (!line.StartsWith("#"))
{
var entry = new LogEntry(line);
observer.OnNext(entry);
}
}
observer.OnCompleted();
return Disposable.Create(() => Console.WriteLine("Unsubscribed"));
});
}
Это наблюдаемое будет «срабатывать» так же быстро, как файл будет считан.
То, что я хочу в космосе (задержку) события по промежутку времени между вторым и последним последней LogEntry.TimeStamp
например. что-то вдоль линии
var replayObs = GetLogEntries().Delay(calculatedTimeDiff);
ли вы читать весь файл каждый раз, когда что-то записывается в файл? Производительность ухудшится довольно быстро ... – Dialecticus
Нет, это просто для демонстрационной цели. Прежде чем «хвост» файла журнала производства, я хочу проверить мои вещи «в автономном режиме», следовательно, воспроизведение архивированного файла журнала. – codeclash
Это действительно дубликат http://stackoverflow.com/questions/22255205/observable-from-list-of-timetamps/22256800#22256800 –