31 lines
1.1 KiB
Rust
31 lines
1.1 KiB
Rust
|
use crate::chat::types::{RP, SP};
|
||
|
use tokio::{
|
||
|
io::{self, AsyncReadExt, AsyncWriteExt},
|
||
|
net::{
|
||
|
tcp::{OwnedReadHalf, OwnedWriteHalf},
|
||
|
TcpStream,
|
||
|
},
|
||
|
};
|
||
|
|
||
|
use fcpv2::client::fcp_types::{ClientHello, ClientPut, FcpParser, SSK};
|
||
|
use fcpv2::client::types::FcpRequest;
|
||
|
pub async fn to_server_sender(mut sender: OwnedWriteHalf, server_receiver: RP) -> io::Result<()> {
|
||
|
while let Ok(res) = server_receiver.recv() {
|
||
|
//TODO from_core_to_server_handler
|
||
|
if res.message == "STARTAPP!" {
|
||
|
let _ = sender
|
||
|
.write((ClientHello::new("name".to_string(), 2.0).convert()).as_bytes())
|
||
|
.await?;
|
||
|
} else if res.message.lines().next() == Some("ClientGet") {
|
||
|
let _ = sender.write(res.message.as_bytes()).await?;
|
||
|
} else {
|
||
|
//println!("{:?}", res.message);
|
||
|
let key = SSK::parse("KSK@msg23.txt").unwrap();
|
||
|
let cp = ClientPut::new_default(key, "msg23.txt", "hello", &res.message[..]).convert();
|
||
|
let _ = sender.write(cp.as_bytes()).await;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Ok(())
|
||
|
}
|