| 53 | } |
| 54 | |
| 55 | pub async fn write_file(&mut self, data: Vec<u8>, filename: &[u8]) -> std::io::Result<()> { |
| 56 | let mut start_seq = e!("::STARTFILE::").as_bytes().to_vec(); |
| 57 | let mut start_data = e!("::STARTDATA::").as_bytes().to_vec(); |
| 58 | let mut stop_seq = e!("::ENDFILE::").as_bytes().to_vec(); |
| 59 | |
| 60 | let mut file_data: Vec<u8> = vec![]; |
| 61 | |
| 62 | file_data.append(&mut start_seq); |
| 63 | file_data.append(&mut filename.to_vec()); |
| 64 | file_data.append(&mut start_data); |
| 65 | file_data.append(&mut data.to_vec()); |
| 66 | file_data.append(&mut stop_seq); |
| 67 | file_data.append(&mut e!("::OVER::").as_bytes().to_vec()); |
| 68 | |
| 69 | self.socket.write_all(file_data.as_slice()).await |
| 70 | } |
| 71 | } |
| 72 | pub type ClientList = Arc<Mutex<Vec<Client>>>; |
| 73 | |