Ejemplo n.º 1
0
        private void BuildSinkNode(
            IDictionary <string, IProcessor> processors,
            IList <string> repartitionTopics,
            IDictionary <string, IProcessor> sinks,
            ISinkNodeFactory factory,
            IProcessor processor)
        {
            foreach (var predecessor in factory.Previous)
            {
                processors[predecessor].AddNextProcessor(processor);
            }

            if (factory.Topic != null)
            {
                if (internalTopics.ContainsKey(factory.Topic))
                {
                    var repartitionTopic = DecorateTopic(factory.Topic);
                    repartitionTopics.Add(repartitionTopic);
                    sinks.Add(repartitionTopic, processor);
                    ((ISinkProcessor)processor).UseRepartitionTopic(repartitionTopic);
                }
                else
                {
                    sinks.Add(factory.Topic, processor);
                }
            }
            else
            {
                sinks.Add(factory.Name, processor);
            }
        }
        private void BuildSinkNode(IDictionary <string, IProcessor> processors, IDictionary <string, IProcessor> sinks, ISinkNodeFactory factory, IProcessor processor)
        {
            foreach (var predecessor in factory.Previous)
            {
                processors[predecessor].AddNextProcessor(processor);
            }

            sinks.Add(factory.Name, processor);
        }