1pub use triggered::{Listener, Trigger};
2
3#[derive(Debug, Clone)]
5pub struct SingleTrigger {
6 pub trigger: Trigger,
7 pub listener: Listener,
8}
9
10impl SingleTrigger {
11 pub fn new() -> SingleTrigger {
12 let (trigger, listener) = triggered::trigger();
13 SingleTrigger { trigger, listener }
14 }
15}
16
17impl Default for SingleTrigger {
18 fn default() -> Self {
19 Self::new()
20 }
21}
22
23#[derive(Debug, Clone, Default)]
26pub struct DuplexTrigger {
27 pub request: SingleTrigger,
28 pub response: SingleTrigger,
29}
30
31impl DuplexTrigger {
32 pub fn new() -> DuplexTrigger {
33 DuplexTrigger { request: SingleTrigger::new(), response: SingleTrigger::new() }
34 }
35}