protected override IKeyedStream <Correlated <TIn>, TSortingKey> CreateOutputStream(SmartDistinctCorrelatedSortedArgs <TIn, TSortingKey> args) { return(base.CreateKeyedStream( args.InputStream.Observable.AggregateGrouped( i => new Correlated <TIn> { CorrelationKeys = new HashSet <Guid>() }, args.InputStream.SortDefinition.GetKey, (aggr, input) => { aggr.Row = ObjectMerger.MergeNotNull(aggr.Row, input.Row); aggr.CorrelationKeys.UnionWith(input.CorrelationKeys); return aggr; }, (input, key, aggr) => aggr ), args.InputStream.SortDefinition)); }
public SmartDistinctCorrelatedSortedStreamNode(string name, SmartDistinctCorrelatedSortedArgs <TIn, TSortingKey> args) : base(name, args) { }