async_util.rs 545 B

123456789101112131415161718
  1. use log::error;
  2. use smol::Timer;
  3. use std::time::Duration;
  4. /// Sleep for any number of seconds.
  5. pub async fn sleep(seconds: u64) {
  6. Timer::after(Duration::from_secs(seconds)).await;
  7. }
  8. /// Auxillary function to reduce boilerplate of sending
  9. /// a message to an optional channel, to notify caller.
  10. pub fn notify_caller(signal: Option<async_channel::Sender<()>>) {
  11. if let Some(sender) = signal.clone() {
  12. if let Err(err) = sender.try_send(()) {
  13. error!(target: "net", "Init signal send error: {}", err);
  14. }
  15. }
  16. }