bpm-engine-runtime 0.2.0

BPM engine runtime: dispatcher, executor, timers, and event handling
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use bpm_engine_core::{ProcessInstance, Token};

pub trait TokenScheduler {
    fn poll<'a>(&self, instance: &'a ProcessInstance) -> Vec<&'a Token>;
}

pub struct DefaultTokenScheduler;

impl TokenScheduler for DefaultTokenScheduler {
    fn poll<'a>(&self, instance: &'a ProcessInstance) -> Vec<&'a Token> {
        instance.tokens.iter().filter(|t| !t.waiting()).collect()
    }
}