added disconnect command

This commit is contained in:
Mitchell 2020-06-05 13:23:53 +00:00
parent 9a09df6b25
commit 612c25c392
3 changed files with 19 additions and 6 deletions

View File

@ -46,21 +46,24 @@ impl Commands{
}
Commands::Connect => {
let message = String::from("!success:");
Commands::transmit_data(stream, &message);
Commands::transmit_data(&stream, &message);
connect::add_new_client(clients_ref, &data[1], &data[2], address);
connect::add_client(clients_ref, &data[1], &data[2], address);
}
Commands::Disconnect => {
let message = String::from("!success:");
Commands::transmit_data(&stream, &message);
disconnect::remove_client(clients_ref, &data[1]);
}
Commands::ClientUpdate => {
}
Commands::ClientInfo => {
let message = String::from("!success:");
Commands::transmit_data(stream, &message);
Commands::transmit_data(&stream, &message);
let requested_address = client_info::get_client_address(clients_ref, &data[1]);
Commands::transmit_data(stream, &requested_address);
Commands::transmit_data(&stream, &requested_address);
}
Commands::Client => {
}
@ -74,7 +77,7 @@ impl Commands{
}
}
fn transmit_data(mut stream: TcpStream, data: &str){
fn transmit_data(mut stream: &TcpStream, data: &str){
println!("Transmitting...");
println!("data: {}",data);

View File

@ -4,7 +4,7 @@ use std::sync::Mutex;
use std::sync::Arc;
use std::collections::HashMap;
pub fn add_new_client(clients_ref: &Arc<Mutex<HashMap<String,Client>>>, username: &String, uuid: &String, address: &String){
pub fn add_client(clients_ref: &Arc<Mutex<HashMap<String,Client>>>, username: &String, uuid: &String, address: &String){
let client = create_client_profile(username,uuid,address);
let mut clients_hashmap = clients_ref.lock().unwrap();
//let cloned_client = client.clone();

View File

@ -0,0 +1,10 @@
use crate::client_management::client_profile::Client;
use std::sync::Mutex;
use std::sync::Arc;
use std::collections::HashMap;
pub fn remove_client(clients_ref: &Arc<Mutex<HashMap<String,Client>>>, uuid: &String){
let mut clients_hashmap = clients_ref.lock().unwrap();
clients_hashmap.remove(uuid);
}