mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
28 lines
838 B
Rust
28 lines
838 B
Rust
use crate::configuration::ClientServerConfiguration;
|
|
use tokio::sync::{broadcast, mpsc};
|
|
|
|
mod persistence;
|
|
mod server;
|
|
mod ws;
|
|
|
|
pub use server::*;
|
|
pub use ws::*;
|
|
|
|
pub struct LocalServerContext {
|
|
pub local_ws: LocalWebSocket,
|
|
pub local_server: LocalServer,
|
|
}
|
|
|
|
pub fn build_server(_config: &ClientServerConfiguration) -> LocalServerContext {
|
|
let (client_ws_sender, server_ws_receiver) = mpsc::unbounded_channel();
|
|
let (server_ws_sender, _) = broadcast::channel(16);
|
|
|
|
// server_ws_sender -> client_ws_receiver
|
|
// server_ws_receiver <- client_ws_sender
|
|
let local_ws = LocalWebSocket::new(server_ws_receiver, server_ws_sender.clone());
|
|
let client_ws_receiver = server_ws_sender;
|
|
let local_server = LocalServer::new(client_ws_sender, client_ws_receiver);
|
|
|
|
LocalServerContext { local_ws, local_server }
|
|
}
|