Finalize the [`Workflow`], creating its event channel.
(self)
| 150 | |
| 151 | /// Finalize the [`Workflow`], creating its event channel. |
| 152 | pub fn build(self) -> Workflow { |
| 153 | let (events, _) = broadcast::channel(DEFAULT_WORKFLOW_EVENT_CAPACITY); |
| 154 | let root_id = self |
| 155 | .root_id |
| 156 | .unwrap_or_else(|| format!("wf-{}", uuid::Uuid::new_v4())); |
| 157 | Workflow { |
| 158 | executor: self.executor, |
| 159 | store: self.store, |
| 160 | events, |
| 161 | step_events: self.step_events, |
| 162 | root_id, |
| 163 | phase_seq: Arc::new(AtomicUsize::new(0)), |
| 164 | budget: self.budget, |
| 165 | } |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | /// A cheaply-clonable (all-`Arc`) typed orchestration facade. |
no outgoing calls
no test coverage detected