3 use super::server::pkts as server_bound;
4 use connect::{Connection, ConnectionReader, ConnectionWriter, StreamExt};
5 use tokio::sync::Mutex as AsyncMutex;
8 pub conn: AsyncMutex<ConnectionWriter>,
13 pub async fn run(addr: &str, quit: Quit) {
14 let (reader, writer) = Connection::tcp_client(addr).await.unwrap().split();
16 println!("client connect {addr}");
18 conn: AsyncMutex::new(writer),
25 async fn run_loop(self, mut reader: ConnectionReader) {
26 let mut quit = self.quit.subscribe();
31 &server_bound::Login {
32 name: "player".into(),
33 pwd: "password123".into(),
40 Some(msg) = reader.next() => {
41 println!("{}", msg.recipient());
43 _ = quit.recv() => break,
48 println!("client disconnect");