rxrust 0.4.0

A Rust implementation of Reactive Extensions.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::prelude::*;
use std::time::Duration;

pub(crate) fn thread_pool_schedule<T: Send + 'static>(
  task: impl FnOnce(SharedSubscription, T) + Send + 'static,
  delay: Option<Duration>,
  state: T,
) -> SharedSubscription {
  let mut subscription = SharedSubscription::default();
  let c_subscription = subscription.clone();
  let delay = delay.unwrap_or_default();

  let s = delay_task(delay, move || task(c_subscription, state));
  subscription.add(s);
  subscription
}