private void AddCore(Future<T> future) { if (null != FutureStarted) { FutureStarted(this, DataEventArgs.Create(future)); } m_pendingAddList.Add(future); future.AddCompletedCallback(m_context.BindAsPost<Future<T>>(x => OnAddCompleted(x))); }
private void UpdateCore(T originalValue, Future<T> future) { if (null != FutureStarted) { FutureStarted(this, DataEventArgs.Create(future)); } m_pendingUpdateList.Add(Tuple.Create(originalValue, future)); future.AddCompletedCallback(m_context.BindAsPost<Future<T>>(OnUpdateCompleted)); }
internal FutureWatcher(SynchronizationContext context, Future future) { if (context == null) { throw new ArgumentNullException("context"); } if (future == null) { throw new ArgumentNullException("future"); } m_context = context; m_future = future; m_future.AddCompletedCallback(OnWatchableFutureCompleted); m_state = State.Waiting; }