protected override void Accumulate(Tuple <INode, TData> data) { BatchByTopic <TData> batch; if (!_currentBatches.TryGetValue(data.Item1, out batch)) { batch = BatchByTopic <TData> .New(); _currentBatches[data.Item1] = batch; } batch.Add(_topicFromData(data.Item2), data.Item2); }
protected override void OnNewBatch(int count) { NewBatch(_currentBatch); _currentBatch = BatchByTopic <TData> .New(); }
public AccumulatorByTopic(Func <TData, string> topicFromData, int maxCount, TimeSpan timeWindow) : base(maxCount, timeWindow) { _topicFromData = topicFromData; _currentBatch = BatchByTopic <TData> .New(); }