use libpso::{PSOPacket, PacketParseError}; use libpso::crypto::PSOCipher; pub enum OnConnect { Packet(Box), Cipher((Box, Box)), } pub trait ServerPacket: Sized { fn from_bytes(data: &Vec) -> Result; } pub trait ServerState { type Packet: ServerPacket; type PacketError; //fn handle(&mut self, pkt: &Self::Packet) -> Result>, Self::PacketError>; fn on_connect(&mut self) -> Vec; //fn handle(&mut self, pkt: &Self::Packet) -> Result>>, Self::PacketError>; fn handle(&mut self, pkt: &Self::Packet) -> Box>>; }