async fn server_main(
addr: SocketAddr,
output: UnboundedSender<ServerMessage>,
input: UnboundedReceiver<AppMessage>,
input_send: UnboundedSender<AppMessage>,
cancelled: Receiver<()>,
)async fn server_main(
addr: SocketAddr,
output: UnboundedSender<ServerMessage>,
input: UnboundedReceiver<AppMessage>,
input_send: UnboundedSender<AppMessage>,
cancelled: Receiver<()>,
)