1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
use td_rp::Buffer; #[derive(Debug)] pub struct SocketEvent { socket_fd: i32, cookie: u32, client_ip: String, server_port: u16, buffer: Buffer, out_cache: Buffer, online: bool, } impl SocketEvent { pub fn new(socket_fd: i32, client_ip: String, server_port: u16) -> SocketEvent { SocketEvent { socket_fd: socket_fd, cookie: 0, client_ip: client_ip, server_port: server_port, buffer: Buffer::new(), out_cache: Buffer::new(), online: true, } } pub fn get_socket_fd(&self) -> i32 { self.socket_fd } pub fn get_client_ip(&self) -> String { self.client_ip.clone() } pub fn get_server_port(&self) -> u16 { self.server_port } pub fn get_cookie(&self) -> u32 { self.cookie } pub fn set_cookie(&mut self, cookie: u32) { self.cookie = cookie; } pub fn get_buffer(&mut self) -> &mut Buffer { &mut self.buffer } pub fn get_out_cache(&mut self) -> &mut Buffer { &mut self.out_cache } pub fn set_online(&mut self, online: bool) { self.online = online; } pub fn is_online(&mut self) -> bool { self.online } }