1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use super::{Flt, streammgr::SharedInQueue};
use crate::siggen::*;
use std::sync::Arc;
/// Commands that can be sent to a running inputstream
#[derive(Debug, Clone)]
pub enum InputStreamCommand {
/// Add a new queue to a running input stream
AddInQueue(SharedInQueue),
/// Stop the thread, do not listen for data anymore.
StopThread,
}
/// Commands that can be sent to a running output stream
#[derive(Debug, Clone)]
pub enum OutputStreamCommand {
/// Add a queue for monitoring the output signal from the signal generator
AddMonitorQueue(SharedInQueue),
/// Apply command to the signal generator.
SiggenCommand(SiggenCommand),
/// Stop the thread, do not listen for data anymore.
StopThread,
}
/// Commands that can be sent to a running stream, both input and output
#[derive(Debug, Clone)]
pub enum StreamCommand {
/// Command for the input stream
InputStreamCommand(InputStreamCommand),
/// Command for the output stream
OutputStreamCommand(OutputStreamCommand),
/// Stop the thread, do not listen for data anymore.
StopThread,
}