operator_fallback_when_silent
Emit a fallback value on ticks where the source stayed silent.
See Also
- AdsrOperator - Convert trigger signals into an ADSR envelope driven by the scheduler.
- DebounceTimeOperator - Emit the most recent value after a period of silence.
- DelayOperator - Shift emissions forward in time using the scheduler.
- ThrottleTimeOperator - Limit the frequency of downstream emissions.
Example
cargo run -p rx_core --example operator_fallback_when_silent_example
use std::time::Duration;
use rx_core::prelude::*;
use rx_core_testing::MockExecutor;
fn main() {
let mut executor = MockExecutor::default();
let scheduler = executor.get_scheduler_handle();
let mut subject = PublishSubject::<i32>::default();
let mut subscription = subject
.clone()
.fallback_when_silent(|_, _, _| Default::default(), scheduler)
.subscribe(PrintObserver::<i32>::new("fallback_when_silent"));
subject.next(1);
executor.tick(Duration::from_millis(200));
subject.next(2);
executor.tick(Duration::from_millis(200));
// Silence
executor.tick(Duration::from_millis(200));
subject.next(3);
executor.tick(Duration::from_millis(200));
subscription.unsubscribe();
}
fallback_when_silent - next: 1
fallback_when_silent - next: 2
fallback_when_silent - next: 0
fallback_when_silent - next: 3
fallback_when_silent - unsubscribed