From 9642558f8f8d983a7087f15d68be8cf07a85f0c2 Mon Sep 17 00:00:00 2001 From: mat Date: Wed, 15 Dec 2021 23:10:55 -0600 Subject: azalea --- minecraft-protocol/src/connect.rs | 116 -------------------------------------- 1 file changed, 116 deletions(-) delete mode 100644 minecraft-protocol/src/connect.rs (limited to 'minecraft-protocol/src/connect.rs') diff --git a/minecraft-protocol/src/connect.rs b/minecraft-protocol/src/connect.rs deleted file mode 100644 index f6dd9fe7..00000000 --- a/minecraft-protocol/src/connect.rs +++ /dev/null @@ -1,116 +0,0 @@ -//! parse sending and receiving packets with a server. - -use crate::packets::game::GamePacket; -use crate::packets::handshake::HandshakePacket; -use crate::packets::login::LoginPacket; -use crate::packets::status::StatusPacket; -use crate::read::read_packet; -use crate::write::write_packet; -use crate::ServerIpAddress; -use tokio::net::TcpStream; - -pub enum PacketFlow { - ClientToServer, - ServerToClient, -} - -pub struct HandshakeConnection { - pub flow: PacketFlow, - /// The buffered writer - pub stream: TcpStream, -} - -pub struct GameConnection { - pub flow: PacketFlow, - /// The buffered writer - pub stream: TcpStream, -} - -pub struct StatusConnection { - pub flow: PacketFlow, - /// The buffered writer - pub stream: TcpStream, -} - -pub struct LoginConnection { - pub flow: PacketFlow, - /// The buffered writer - pub stream: TcpStream, -} - -impl HandshakeConnection { - pub async fn new(address: &ServerIpAddress) -> Result { - let ip = address.ip; - let port = address.port; - - let stream = TcpStream::connect(format!("{}:{}", ip, port)) - .await - .map_err(|_| "Failed to connect to server")?; - - // enable tcp_nodelay - stream - .set_nodelay(true) - .expect("Error enabling tcp_nodelay"); - - Ok(HandshakeConnection { - flow: PacketFlow::ServerToClient, - stream, - }) - } - - pub fn login(self) -> LoginConnection { - LoginConnection { - flow: self.flow, - stream: self.stream, - } - } - - pub fn status(self) -> StatusConnection { - StatusConnection { - flow: self.flow, - stream: self.stream, - } - } - - pub async fn read(&mut self) -> Result { - read_packet::(&self.flow, &mut self.stream).await - } - - /// Write a packet to the server - pub async fn write(&mut self, packet: HandshakePacket) { - write_packet(packet, &mut self.stream).await; - } -} - -impl GameConnection { - pub async fn read(&mut self) -> Result { - read_packet::(&self.flow, &mut self.stream).await - } - - /// Write a packet to the server - pub async fn write(&mut self, packet: GamePacket) { - write_packet(packet, &mut self.stream).await; - } -} - -impl StatusConnection { - pub async fn read(&mut self) -> Result { - read_packet::(&self.flow, &mut self.stream).await - } - - /// Write a packet to the server - pub async fn write(&mut self, packet: StatusPacket) { - write_packet(packet, &mut self.stream).await; - } -} - -impl LoginConnection { - pub async fn read(&mut self) -> Result { - read_packet::(&self.flow, &mut self.stream).await - } - - /// Write a packet to the server - pub async fn write(&mut self, packet: LoginPacket) { - write_packet(packet, &mut self.stream).await; - } -} -- cgit v1.2.3