public IFlowPlan StartFlow(FlowDefinition definition) { IFlowPlan flowPlan = CreateFlow(definition); flowPlan.Start(); return(flowPlan); }
public override void GenerateFlowPlanItem(IFlowSourceDefinition <T> parent, IFlowPlan plan, FlowLinkDefinition <T> link) { plan.AddBatcher(parent.BlockInfo.Id, this, link); foreach (FlowLinkDefinition <List <T> > outboundLink in OutboundLinks) { outboundLink.Target.GenerateFlowPlanItem(this, plan, outboundLink); } }
public override void GeneratePlanItem(IFlowPlan plan) { plan.AddProducer(this); foreach (FlowLinkDefinition <T> link in OutboundLinks) { link.Target.GenerateFlowPlanItem(this, plan, link); } }
private IFlowPlan CreateFlow(FlowDefinition definition) { definition.Logger ??= Logger; definition.AuditLogger ??= AuditLogger; IFlowPlan flowPlan = _planFactory.GeneratePlan(definition); if (!_flowPlans.TryAdd(definition.ServiceInfo.Id, flowPlan)) { throw new Exception("Plan already exists."); } return(flowPlan); }
public void GenerateFlowPlanItem(IFlowSourceDefinition <T> parent, IFlowPlan plan, FlowLinkDefinition <T> link) { plan.AddConsumer <T>(parent.BlockInfo.Id, this, link); }
public abstract void GeneratePlanItem(IFlowPlan plan);
public abstract void GenerateFlowPlanItem(IFlowSourceDefinition <TIn> parent, IFlowPlan plan, FlowLinkDefinition <TIn> link);