コード例 #1
0
 private IObservable<Unit> SynchronizeFile(IFileNotification file, IFileSynchronizerVisitor visitor)
 {
     return Observable.FromAsync(async ct => await file.Accept(ct, visitor), _notificationsScheduler)                             
                      .Do(_ =>
                      {
                          _transcodingResultNotifications.OnNext(FileTranscodingResultNotification.CreateSuccess(file));
                          _numberOfFilesAddedInTranscodingQueue.OnNext(-1);
                      })
                      .Catch((Exception ex) =>
                      {
                          _transcodingResultNotifications.OnNext(FileTranscodingResultNotification.CreateFailure(file, ex));
                          _numberOfFilesAddedInTranscodingQueue.OnNext(-1);
                          return Observable.Return(Unit.Default, ImmediateScheduler.Instance);
                      });
 }