use crate::network::client::CraftClient;
use crate::network::network_error::NetworkError;
use crate::protocol::packets::StatusResponseBody;
pub trait HandshakeHandler {
async fn handle_handshake(client: &mut CraftClient) -> Result<(), NetworkError>;
}
pub trait StatusHandler {
async fn handle_status<P: PingHandler>(connection: &mut CraftClient, status_response: StatusResponseBody, ping_handler: P) -> Result<(), NetworkError>;
}
pub trait PingHandler {
async fn handle_ping(connection: &mut CraftClient) -> Result<(), NetworkError>;
}
pub trait LoginHandler {
fn handle_login(connection: &mut CraftClient) -> Result<(), NetworkError>;
}