in netbench-orchestrator/src/russula/workflow.rs [36:61]
fn state(&self) -> &Self::State;
fn state_mut(&mut self) -> &mut Self::State;
/// Track events for the current workflow.
fn event_recorder(&mut self) -> &mut EventRecorder;
/// Used for debugging and creating unique log files.
fn name(&self) -> String;
/// Track the peers state. Mainly used for debugging.
fn update_peer_state(&mut self, msg: Msg) -> RussulaResult<()>;
fn ready_state(&self) -> Self::State;
fn done_state(&self) -> Self::State;
/// Should only be called by Coordinators
fn worker_running_state(&self) -> Self::State;
/// Check if the Instance is at the desired state
fn is_state(&self, workflow_state: WorkflowState) -> bool {
let state = match workflow_state {
WorkflowState::Ready => self.ready_state(),
WorkflowState::Done => self.done_state(),
WorkflowState::WorkerRunning => self.worker_running_state(),
};
self.state().eq(&state)
}