use alloc::string::String;
use core::fmt::Debug;
use lightyear_core::id::PeerId;
use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub enum DeniedReason {
ServerFull,
Banned,
InternalError,
AlreadyConnected,
TokenAlreadyUsed,
InvalidToken,
Custom(String),
}
pub trait ConnectionRequestHandler: Debug + Send + Sync {
fn handle_request(&self, client_id: PeerId) -> Option<DeniedReason>;
}
#[derive(Debug, Clone)]
pub struct DefaultConnectionRequestHandler;
impl ConnectionRequestHandler for DefaultConnectionRequestHandler {
fn handle_request(&self, _client_id: PeerId) -> Option<DeniedReason> {
None
}
}