ActivePlan<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
namespace System.Reactive.Joins
{
internal class ActivePlan<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> : ActivePlan
{
private readonly Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> onNext;
private readonly Action onCompleted;
private readonly JoinObserver<T1> first;
private readonly JoinObserver<T2> second;
private readonly JoinObserver<T3> third;
private readonly JoinObserver<T4> fourth;
private readonly JoinObserver<T5> fifth;
private readonly JoinObserver<T6> sixth;
private readonly JoinObserver<T7> seventh;
private readonly JoinObserver<T8> eighth;
private readonly JoinObserver<T9> ninth;
private readonly JoinObserver<T10> tenth;
private readonly JoinObserver<T11> eleventh;
private readonly JoinObserver<T12> twelfth;
internal ActivePlan(JoinObserver<T1> first, JoinObserver<T2> second, JoinObserver<T3> third, JoinObserver<T4> fourth, JoinObserver<T5> fifth, JoinObserver<T6> sixth, JoinObserver<T7> seventh, JoinObserver<T8> eighth, JoinObserver<T9> ninth, JoinObserver<T10> tenth, JoinObserver<T11> eleventh, JoinObserver<T12> twelfth, Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> onNext, Action onCompleted)
{
this.onNext = onNext;
this.onCompleted = onCompleted;
this.first = first;
this.second = second;
this.third = third;
this.fourth = fourth;
this.fifth = fifth;
this.sixth = sixth;
this.seventh = seventh;
this.eighth = eighth;
this.ninth = ninth;
this.tenth = tenth;
this.eleventh = eleventh;
this.twelfth = twelfth;
AddJoinObserver(first);
AddJoinObserver(second);
AddJoinObserver(third);
AddJoinObserver(fourth);
AddJoinObserver(fifth);
AddJoinObserver(sixth);
AddJoinObserver(seventh);
AddJoinObserver(eighth);
AddJoinObserver(ninth);
AddJoinObserver(tenth);
AddJoinObserver(eleventh);
AddJoinObserver(twelfth);
}
internal override void Match()
{
if (first.Queue.Count > 0 && second.Queue.Count > 0 && third.Queue.Count > 0 && fourth.Queue.Count > 0 && fifth.Queue.Count > 0 && sixth.Queue.Count > 0 && seventh.Queue.Count > 0 && eighth.Queue.Count > 0 && ninth.Queue.Count > 0 && tenth.Queue.Count > 0 && eleventh.Queue.Count > 0 && twelfth.Queue.Count > 0) {
Notification<T1> notification = first.Queue.Peek();
Notification<T2> notification2 = second.Queue.Peek();
Notification<T3> notification3 = third.Queue.Peek();
Notification<T4> notification4 = fourth.Queue.Peek();
Notification<T5> notification5 = fifth.Queue.Peek();
Notification<T6> notification6 = sixth.Queue.Peek();
Notification<T7> notification7 = seventh.Queue.Peek();
Notification<T8> notification8 = eighth.Queue.Peek();
Notification<T9> notification9 = ninth.Queue.Peek();
Notification<T10> notification10 = tenth.Queue.Peek();
Notification<T11> notification11 = eleventh.Queue.Peek();
Notification<T12> notification12 = twelfth.Queue.Peek();
if (notification.Kind == NotificationKind.OnCompleted || notification2.Kind == NotificationKind.OnCompleted || notification3.Kind == NotificationKind.OnCompleted || notification4.Kind == NotificationKind.OnCompleted || notification5.Kind == NotificationKind.OnCompleted || notification6.Kind == NotificationKind.OnCompleted || notification7.Kind == NotificationKind.OnCompleted || notification8.Kind == NotificationKind.OnCompleted || notification9.Kind == NotificationKind.OnCompleted || notification10.Kind == NotificationKind.OnCompleted || notification11.Kind == NotificationKind.OnCompleted || notification12.Kind == NotificationKind.OnCompleted)
onCompleted();
else {
Dequeue();
onNext(notification.Value, notification2.Value, notification3.Value, notification4.Value, notification5.Value, notification6.Value, notification7.Value, notification8.Value, notification9.Value, notification10.Value, notification11.Value, notification12.Value);
}
}
}
}
}