Browse Source

idfk

master
Isabelle L. 5 years ago
parent
commit
178f99e398
2 changed files with 10 additions and 22 deletions
  1. +6
    -8
      src/client.rs
  2. +4
    -14
      src/server.rs

+ 6
- 8
src/client.rs View File

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


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


let mut stream = TcpStream::connect(format!("127.0.0.1:{}", &port)).await?; 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( let message = ilmp::Message::new(
"Isabelle".to_owned(), "Isabelle".to_owned(),
"oh god oh fuck this shit actually works".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(()) Ok(())
} }

+ 4
- 14
src/server.rs View File

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


@@ -38,10 +34,7 @@ pub async fn server(port: u16) -> Result<()> {
let (read, write) = stream.split(); let (read, write) = stream.split();
let stream_id = Uuid::new_v4(); 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)); 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 { if let Some(packet) = packet {
let res = match packet.kind { let res = match packet.kind {
ilmp::PacketKind::Message => ilmp::Message::from_packet(packet), ilmp::PacketKind::Message => ilmp::Message::from_packet(packet),
_ => unimplemented!(),
_ => panic!("bad packet"),
}; };
println!("{:?}", res); println!("{:?}", res);
} else { } else {
@@ -64,10 +57,7 @@ async fn handle_stream(mut stream: ReadHalf<TcpStream>, stream_id: Uuid) -> Resu
} }
} }
println!("stream disconnected"); 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(()) Ok(())
} }




Loading…
Cancel
Save