pub struct Processor { /* private fields */ }Expand description
Processor is an instance which creates logical lines
Implementations§
Source§impl Processor
impl Processor
Sourcepub fn line_state(&self, name: &str) -> Option<&LineState>
pub fn line_state(&self, name: &str) -> Option<&LineState>
Returns the state of the line
Sourcepub fn is_recording(&self) -> bool
pub fn is_recording(&self) -> bool
Returns true if the processor is recording
Sourcepub fn line<INPUT>(
&mut self,
name: impl Into<Cow<'static, str>>,
input: INPUT,
) -> Step<'_, INPUT>
pub fn line<INPUT>( &mut self, name: impl Into<Cow<'static, str>>, input: INPUT, ) -> Step<'_, INPUT>
Creates a new logical line
Examples found in repository?
examples/fan_control.rs (line 15)
3fn main() {
4 let mut state = Rack::new().with_recording_enabled();
5 let mut processor = state.processor();
6
7 // Some fan state
8 let mut fan = false;
9
10 // A temperature sensor value
11 let temperature = 31.0;
12
13 processor
14 // a sequence to turn on the fan on if the temperature is above 30 degrees
15 .line("fan_on", temperature)
16 .then(action!("temp_high", |t| (t > 30.0).then_some(())))
17 .then(action!("fan_on", |()| {
18 fan = true;
19 Some(())
20 }));
21 processor
22 // a sequence to turn off the fan if the temperature is below 25 degrees
23 .line("fan_off", temperature)
24 .then(action!("temp_low", |t| (t < 25.0).then_some(())))
25 .then(action!("fan_off", |()| {
26 fan = false;
27 Some(())
28 }));
29
30 state.ingress(&mut processor);
31 println!("{}", state);
32
33 println!("{}", serde_json::to_string_pretty(&state).unwrap());
34}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Processor
impl RefUnwindSafe for Processor
impl Send for Processor
impl Sync for Processor
impl Unpin for Processor
impl UnwindSafe for Processor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more