main.rs 726 B

1234567891011121314151617181920212223242526
  1. #![cfg_attr(
  2. all(not(debug_assertions), target_os = "windows"),
  3. windows_subsystem = "windows"
  4. )]
  5. use async_std::{
  6. prelude::FutureExt,
  7. task::{spawn, spawn_local},
  8. };
  9. use crossbeam_channel::bounded;
  10. use rustdesk_server::{
  11. usecase::{presenter, view, watcher},
  12. BUFFER,
  13. };
  14. #[async_std::main]
  15. async fn main() {
  16. let buffer = BUFFER.get_or_init(|| 10).to_owned();
  17. let (view_sender, presenter_receiver) = bounded(buffer);
  18. let (presenter_sender, view_receiver) = bounded(buffer);
  19. spawn_local(view::create(presenter_sender.clone(), presenter_receiver))
  20. .join(spawn(presenter::create(view_sender, view_receiver)))
  21. .join(spawn(watcher::create(presenter_sender)))
  22. .await;
  23. }