ActivePlan
using System.
Collections.
Generic;
namespace System.
Reactive.
Joins
{
internal abstract class ActivePlan
{
private readonly Dictionary<
IJoinObserver,
IJoinObserver>
_joinObservers =
new Dictionary<
IJoinObserver,
IJoinObserver>();
protected readonly Action _onCompleted;
internal abstract void Match();
protected ActivePlan(
Action onCompleted)
{
_onCompleted =
onCompleted;
}
protected void AddJoinObserver(
IJoinObserver joinObserver)
{
if (!
_joinObservers.
ContainsKey(
joinObserver))
_joinObservers.
Add(
joinObserver,
joinObserver);
}
protected void Dequeue()
{
foreach (
IJoinObserver value in _joinObservers.
Values) {
value.
Dequeue();
}
}
}
}