#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ConnectionResults {
ServerFull,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum PacketHandlingResults {
Undefined,
ClientNotFound,
BadConnectionId,
UnhandleablePacket,
}
pub struct Settings {
pub max_clients: usize,
pub timeout: std::time::Duration,
}
pub trait Server {
fn update(&mut self, current_time: std::time::Instant) -> Result<Vec<Events>, ConnectionResults>;
fn send(&mut self, reliable: bool, data: [u8; 1024]);
fn send_to_client(&mut self, connection_id: u64, reliable: bool, data: [u8; 1024]);
fn disconnect(&mut self);
fn disconnect_client(&mut self, connection_id: u64);
}
use crate::server::Events;