public static int GetBranchLoadSum(IWorkflowComponent component) { if (component is StreamDataProducer) { StreamDataProducer producer = (StreamDataProducer)component; int load = 0; foreach (IWorkflowComponent subscriber in producer.SubscribedConsumers) { load += GetBranchLoadSum(subscriber); } return(load); } else if (component is StreamDataProcessor) { StreamDataProcessor processor = (StreamDataProcessor)component; int load = processor.Load; foreach (IWorkflowComponent subscriber in processor.SubscribedConsumers) { load += GetBranchLoadSum(subscriber); } return(load); } else if (component is StreamDataConsumer) { StreamDataConsumer consumer = (StreamDataConsumer)component; return(consumer.Load); } return(0); }
public static int GetBranchLoadSum(IWorkflowComponent component) { if (component is StreamDataProducer) { StreamDataProducer producer = (StreamDataProducer)component; int load = 0; foreach (IWorkflowComponent subscriber in producer.SubscribedConsumers) { load += GetBranchLoadSum(subscriber); } return load; } else if (component is StreamDataProcessor) { StreamDataProcessor processor = (StreamDataProcessor)component; int load = processor.Load; foreach (IWorkflowComponent subscriber in processor.SubscribedConsumers) { load += GetBranchLoadSum(subscriber); } return load; } else if (component is StreamDataConsumer) { StreamDataConsumer consumer = (StreamDataConsumer)component; return consumer.Load; } return 0; }