63 lines
1.4 KiB
Rust
63 lines
1.4 KiB
Rust
use libpso::PacketParseError;
|
|
|
|
use crate::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
|
|
use crate::entity::gateway::EntityGateway;
|
|
|
|
pub const SHIP_PORT: u16 = 12345;
|
|
|
|
#[derive(Debug)]
|
|
pub enum ShipError {
|
|
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum RecvShipPacket {
|
|
|
|
}
|
|
|
|
impl RecvServerPacket for RecvShipPacket {
|
|
fn from_bytes(data: &[u8]) -> Result<RecvShipPacket, PacketParseError> {
|
|
Err(PacketParseError::WrongPacketForServerType)
|
|
}
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum SendShipPacket {
|
|
|
|
|
|
}
|
|
|
|
impl SendServerPacket for SendShipPacket {
|
|
fn as_bytes(&self) -> Vec<u8> {
|
|
Vec::new()
|
|
}
|
|
}
|
|
|
|
|
|
pub struct ShipServerState<EG: EntityGateway> {
|
|
entity_gateway: EG,
|
|
}
|
|
|
|
impl<EG: EntityGateway> ShipServerState<EG> {
|
|
pub fn new(entity_gateway: EG) -> ShipServerState<EG> {
|
|
ShipServerState {
|
|
entity_gateway: entity_gateway
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
impl<EG: EntityGateway> ServerState for ShipServerState<EG> {
|
|
type SendPacket = SendShipPacket;
|
|
type RecvPacket = RecvShipPacket;
|
|
type PacketError = ShipError;
|
|
|
|
fn on_connect(&mut self, id: ClientId) -> Vec<OnConnect<Self::SendPacket>> {
|
|
Vec::new()
|
|
}
|
|
|
|
fn handle(&mut self, id: ClientId, pkt: &RecvShipPacket)
|
|
-> Result<Box<dyn Iterator<Item = (ClientId, SendShipPacket)>>, ShipError> {
|
|
Ok(Box::new(Vec::new().into_iter()))
|
|
}
|
|
} |