public IDisposable Run(Join <TLeft, TRight, TLeftDuration, TRightDuration, TResult> parent) { var leftSubscription = new SingleAssignmentDisposable(); _group.Add(leftSubscription); _leftDone = false; _leftID = 0; var rightSubscription = new SingleAssignmentDisposable(); _group.Add(rightSubscription); _rightDone = false; _rightID = 0; leftSubscription.Disposable = parent._left.SubscribeSafe(new LeftObserver(this, leftSubscription)); rightSubscription.Disposable = parent._right.SubscribeSafe(new RightObserver(this, rightSubscription)); return(_group); }
public _(Join <TLeft, TRight, TLeftDuration, TRightDuration, TResult> parent, IObserver <TResult> observer, IDisposable cancel) : base(observer, cancel) { _parent = parent; }