protected override IStream <Correlated <TIn> > CreateOutputStream(DistinctCorrelatedArgs <TIn, TGroupingKey> args) { return(base.CreateUnsortedStream(args.InputStream.Observable.Aggregate(i => new HashSet <Guid>(), i => args.GetGroupingKey(i.Row), (a, i) => { a.UnionWith(i.CorrelationKeys); return a; }, (i, k, a) => new Correlated <TIn> { Row = i.Row, CorrelationKeys = a }))); }
public DistinctCorrelatedStreamNode(string name, DistinctCorrelatedArgs <TIn, TGroupingKey> args) : base(name, args) { }