core/src/main.rs

110 lines
3.1 KiB
Rust
Raw Normal View History

2020-11-01 16:46:47 +00:00
mod chat;
2020-11-22 14:31:45 +00:00
mod db;
mod encrypting;
2020-11-01 16:46:47 +00:00
use async_std::io;
use chat::front_conn::listen_client;
2020-11-22 14:31:45 +00:00
use std::{
sync::{
mpsc,
mpsc::{Receiver, Sender},
},
thread,
};
2020-11-01 16:46:47 +00:00
fn main() -> io::Result<()> {
2020-11-22 14:31:45 +00:00
// listen_client();
enum ClientMessage {
Message(String),
Nope,
}
2020-11-22 14:48:24 +00:00
struct MFA {
encoded_msg: String, // TODO add User field
2020-11-22 14:31:45 +00:00
}; //Message from above
struct ClientHandler {
message: ClientMessage,
}
struct ServerHandler {
2020-11-22 14:48:24 +00:00
messages: Vec<MFA>,
2020-11-22 14:31:45 +00:00
}
2020-11-22 14:48:24 +00:00
let (server_sender, server_receiver): (Sender<MFA>, Receiver<MFA>) = mpsc::channel(); // server sender, server receiver
let (client_sender, client_receiver): (Sender<MFA>, Receiver<MFA>) = mpsc::channel(); // client sender, client receiver
2020-11-22 14:31:45 +00:00
let client_listener = thread::spawn(move || {
2020-11-22 14:48:24 +00:00
let new_msg: MFA = client_receiver.recv().unwrap();
println!("{:?}", new_msg.encoded_msg);
2020-11-22 14:31:45 +00:00
});
let server_listener = thread::spawn(move || loop {
let m1 = String::from("It's a encoded message from Jim");
let m2 = String::from("It's a encoded message from one killer, who trying to find you");
2020-11-22 14:48:24 +00:00
// let mut fromabove = ServerHandler{messages: vec![MFA(m1), MFA(m2)]};
2020-11-22 14:31:45 +00:00
2020-11-22 14:48:24 +00:00
// for msg in fromabove.messages.iter() {
let msg = MFA { encoded_msg: m1 };
2020-11-22 14:31:45 +00:00
2020-11-22 14:48:24 +00:00
client_sender.send(msg);
// }
2020-11-22 14:31:45 +00:00
let mut a: ClientHandler = ClientHandler {
message: ClientMessage::Message(String::from("yup")),
2020-11-22 14:48:24 +00:00
};
2020-11-22 14:31:45 +00:00
let it_will_drop = match a.message {
ClientMessage::Message(m) => m,
ClientMessage::Nope => String::from("fail!!"),
};
});
2020-11-22 14:48:24 +00:00
server_listener.join().expect("fail listening server");
client_listener.join().expect("fail listening client");
2020-11-22 14:31:45 +00:00
Ok(())
2020-11-01 16:46:47 +00:00
}
/*
fn main() {
2020-11-01 16:46:47 +00:00
let server = TcpListener::bind("127.0.0.1:9001").unwrap();
println!("{:?}", &server);
for stream in server.incoming() {
spawn(move || {
println!("{:?}", &stream);
let mut websocket: WebSocket<std::net::TcpStream> = accept(stream.unwrap()).unwrap();
loop {
let msg = websocket.read_message().unwrap();
// We do not want to send back ping/pong messages.
if msg.is_binary() || msg.is_text() {
websocket.write_message(msg).unwrap();
}
}
});
}
}*/
/*
let (one, two) = keys;
2020-11-01 16:46:47 +00:00
let value =String::from_utf8_lossy(&*one);
let strVal = String::from(value);
let newbytes = strVal.into_bytes();
print!("{:?}", newbytes);
2020-11-01 16:46:47 +00:00
let newkey = PrivateKey::import(newbytes);
2020-11-01 16:46:47 +00:00
Let conn = Connection::open("myfile.db").unwrap();
2020-11-01 16:46:47 +00:00
conn.execute("CREATE TABLE person (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT NOT NULL
)", NO_PARAMS).unwrap();
let name: String = "Steve Example".to_string();
let email: String = "steve@example.org".to_string();
conn.execute("INSERT INTO person (name, email) VALUES (?1, ?2)",
&[&name, &email]).unwrap();
}
2020-11-01 16:46:47 +00:00
*/
//let mut std = cli::cli_base::get_stdin();