4个版本

使用旧的Rust 2015

0.1.3 2021年7月11日
0.1.2 2018年12月4日
0.1.1 2018年11月8日
0.1.0 2018年5月20日

#3#cancel


portus 使用

MIT/Apache

16KB
173

minion

Crates.io Documentation Build Status

此库提供了一种包装类型,用于使长时间运行的服务循环可取消。

让我们通过一个例子直接开始。有关更多信息,请参阅Cancellable

// impl Cancellable for Service { .. }
let s = Service::new();

// start the service loop on a new thread
let h = s.spawn();

// get a handle that allows cancelling the service loop
let exit = h.canceller();

// spin up a new thread that will handle exit signals
thread::spawn(move || {
    // this might catch Ctrl-C from the user, wait for a particular packet,
    // or for any other condition that signals that the service should exit
    // cleanly. in this case, we just terminate after a fixed amount of time.
    thread::sleep(time::Duration::from_secs(1));

    // tell the service loop to exit at the first opportunity
    exit.cancel();
});

// block until the service loop exits or errors.
h.wait().unwrap();

现场编码

此库作为现场编码系列的一部分进行开发,该系列旨在为已经熟悉Rust并且想要看到更大和更复杂的项目构建的用户。

您可以在这个YouTube播放列表中找到过去会议的录音。此库在此视频中创建。要了解未来流的更新,请在我的PatreonTwitter上关注我。

感谢

对于我构建的每个项目,我都喜欢感谢那些愿意并且能够支持我在PatreonLiberapay上制作这些视频的人。我对您的最真诚的感激之情,并且我非常激动,您觉得我所做的事情有趣到愿意给一个陌生人钱来做他们喜欢的事情!

  • Rodrigo Valin
  • Roger Andersen (@hexjelly)
  • Pigeon F

无运行时依赖