mod.rs 836 B

123456789101112131415161718192021222324252627282930
  1. use flowy_client_network_config::ClientServerConfiguration;
  2. use tokio::sync::{broadcast, mpsc};
  3. mod persistence;
  4. mod server;
  5. mod ws;
  6. pub use server::*;
  7. pub use ws::*;
  8. pub struct LocalServerContext {
  9. pub local_ws: LocalWebSocket,
  10. pub local_server: LocalServer,
  11. }
  12. pub fn build_server(_config: &ClientServerConfiguration) -> LocalServerContext {
  13. let (client_ws_sender, server_ws_receiver) = mpsc::unbounded_channel();
  14. let (server_ws_sender, _) = broadcast::channel(16);
  15. // server_ws_sender -> client_ws_receiver
  16. // server_ws_receiver <- client_ws_sender
  17. let local_ws = LocalWebSocket::new(server_ws_receiver, server_ws_sender.clone());
  18. let client_ws_receiver = server_ws_sender;
  19. let local_server = LocalServer::new(client_ws_sender, client_ws_receiver);
  20. LocalServerContext {
  21. local_ws,
  22. local_server,
  23. }
  24. }