Isabelle L. há 5 anos
ascendente
cometimento
178f99e398
2 ficheiros alterados com 10 adições e 22 eliminações
  1. +6
    -8
      src/client.rs
  2. +4
    -14
      src/server.rs

+ 6
- 8
src/client.rs Ver ficheiro

@@ -2,7 +2,7 @@
use crate::config::ClientConfig as Config;
use crate::Result;
use async_std::net::TcpStream;
use futures::io::ReadHalf;
/*use futures::io::ReadHalf;*/
use futures_util::io::AsyncReadExt;

/// wraps the client
@@ -10,19 +10,17 @@ pub async fn client(port: u16) -> Result<()> {
let _config = Config::load()?;

let mut stream = TcpStream::connect(format!("127.0.0.1:{}", &port)).await?;
println!(
"connection established to: {}:{}",
stream.peer_addr()?.ip(),
port
);
println!("connection established to: {}:{}", stream.peer_addr()?.ip(), port);

let message = ilmp::Message::new(
"Isabelle".to_owned(),
"oh god oh fuck this shit actually works".to_owned(),
);
ilmp::write(&mut stream, message);

let (read, mut write) = stream.split();
ilmp::write(&mut stream, message, ilmp::NoEncrypt::new()).await;

loop {}

/*let (read, mut write) = stream.split();*/
Ok(())
}

+ 4
- 14
src/server.rs Ver ficheiro

@@ -21,11 +21,7 @@ pub async fn server(port: u16) -> Result<()> {
let asym_keys = crate::AsymmetricKeys::generate();
let listener = TcpListener::bind(format!("127.0.0.1:{}", &port)).await?;

println!(
"online as server at: {}:{}",
listener.local_addr()?.ip(),
port
);
println!("online as server at: {}:{}", listener.local_addr()?.ip(), port);

let mut incoming = listener.incoming();

@@ -38,10 +34,7 @@ pub async fn server(port: u16) -> Result<()> {
let (read, write) = stream.split();
let stream_id = Uuid::new_v4();

WRITE_STREAMS
.lock()
.expect("could not aqcuire lock")
.insert(stream_id.clone(), write);
WRITE_STREAMS.lock().expect("could not aqcuire lock").insert(stream_id.clone(), write);

task::spawn(handle_stream(read, stream_id));
}
@@ -55,7 +48,7 @@ async fn handle_stream(mut stream: ReadHalf<TcpStream>, stream_id: Uuid) -> Resu
if let Some(packet) = packet {
let res = match packet.kind {
ilmp::PacketKind::Message => ilmp::Message::from_packet(packet),
_ => unimplemented!(),
_ => panic!("bad packet"),
};
println!("{:?}", res);
} else {
@@ -64,10 +57,7 @@ async fn handle_stream(mut stream: ReadHalf<TcpStream>, stream_id: Uuid) -> Resu
}
}
println!("stream disconnected");
WRITE_STREAMS
.lock()
.expect("failed to aqcuire lock")
.remove(&stream_id);
WRITE_STREAMS.lock().expect("failed to aqcuire lock").remove(&stream_id);
Ok(())
}



Carregando…
Cancelar
Guardar