protected override IStream <Correlated <TIn> > CreateOutputStream(SmartDistinctCorrelatedArgs <TIn, TGroupingKey> args) { return(base.CreateUnsortedStream(args.InputStream.Observable.Aggregate( i => new Correlated <TIn> { CorrelationKeys = new HashSet <Guid>() }, i => args.GetGroupingKey(i.Row), (aggr, input) => { aggr.Row = ObjectMerger.MergeNotNull(aggr.Row, input.Row); aggr.CorrelationKeys.UnionWith(input.CorrelationKeys); return aggr; }, (input, key, aggr) => aggr))); }
public SmartDistinctCorrelatedStreamNode(string name, SmartDistinctCorrelatedArgs <TIn, TGroupingKey> args) : base(name, args) { }