diff --git a/src/proto/codec.rs b/src/proto/codec.rs index 877d527..db4543e 100644 --- a/src/proto/codec.rs +++ b/src/proto/codec.rs @@ -145,7 +145,7 @@ impl FrameDecoder { } #[derive(Debug)] -pub struct Connection { +pub struct FrameStream { stream: TcpStream, read_buffer: BytesMut, @@ -154,13 +154,13 @@ pub struct Connection { encoder: FrameEncoder, } -impl Connection +impl FrameStream where ReadFrame: ValueDecode, WriteFrame: ValueEncode + ?Sized, { pub fn new(stream: TcpStream) -> Self { - Connection { + FrameStream { stream, read_buffer: BytesMut::new(), decoder: FrameDecoder::new(), @@ -188,7 +188,7 @@ mod tests { use bytes::BytesMut; use tokio::net::{TcpListener, TcpStream}; - use super::{Connection, FrameDecoder, FrameEncoder}; + use super::{FrameStream, FrameDecoder, FrameEncoder}; // Test value: [1, 3, 3, 7] in little-endian. const U32_1337: u32 = 1 + (3 << 8) + (3 << 16) + (7 << 24); @@ -342,21 +342,21 @@ mod tests { let server_task = tokio::spawn(async move { let (stream, _peer_address) = listener.accept().await.unwrap(); - let mut connection = Connection::::new(stream); + let mut frame_stream = FrameStream::::new(stream); - assert_eq!(connection.read().await.unwrap(), "ping"); - connection.write("pong").await.unwrap(); - assert_eq!(connection.read().await.unwrap(), "ping"); - connection.write("pong").await.unwrap(); + assert_eq!(frame_stream.read().await.unwrap(), "ping"); + frame_stream.write("pong").await.unwrap(); + assert_eq!(frame_stream.read().await.unwrap(), "ping"); + frame_stream.write("pong").await.unwrap(); }); let stream = TcpStream::connect(address).await.unwrap(); - let mut connection = Connection::::new(stream); + let mut frame_stream = FrameStream::::new(stream); - connection.write("ping").await.unwrap(); - assert_eq!(connection.read().await.unwrap(), "pong"); - connection.write("ping").await.unwrap(); - assert_eq!(connection.read().await.unwrap(), "pong"); + frame_stream.write("ping").await.unwrap(); + assert_eq!(frame_stream.read().await.unwrap(), "pong"); + frame_stream.write("ping").await.unwrap(); + assert_eq!(frame_stream.read().await.unwrap(), "pong"); server_task.await.unwrap(); } @@ -368,17 +368,17 @@ mod tests { let server_task = tokio::spawn(async move { let (stream, _peer_address) = listener.accept().await.unwrap(); - let mut connection = Connection::>::new(stream); + let mut frame_stream = FrameStream::>::new(stream); - assert_eq!(connection.read().await.unwrap(), "ping"); - connection.write(&vec![0; 10 * 4096]).await.unwrap(); + assert_eq!(frame_stream.read().await.unwrap(), "ping"); + frame_stream.write(&vec![0; 10 * 4096]).await.unwrap(); }); let stream = TcpStream::connect(address).await.unwrap(); - let mut connection = Connection::, str>::new(stream); + let mut frame_stream = FrameStream::, str>::new(stream); - connection.write("ping").await.unwrap(); - assert_eq!(connection.read().await.unwrap(), vec![0; 10 * 4096]); + frame_stream.write("ping").await.unwrap(); + assert_eq!(frame_stream.read().await.unwrap(), vec![0; 10 * 4096]); server_task.await.unwrap(); } diff --git a/src/proto/mod.rs b/src/proto/mod.rs index bcf37bc..da7d8ad 100644 --- a/src/proto/mod.rs +++ b/src/proto/mod.rs @@ -12,7 +12,7 @@ pub mod u32; mod user; mod value_codec; -pub use self::codec::Connection; +pub use self::codec::FrameStream; pub use self::handler::*; pub use self::packet::*; pub use self::server::{ServerRequest, ServerResponse}; diff --git a/src/proto/testing.rs b/src/proto/testing.rs index 1bdd2a2..618afaa 100644 --- a/src/proto/testing.rs +++ b/src/proto/testing.rs @@ -5,11 +5,11 @@ use std::net::SocketAddr; use tokio::net::{TcpListener, TcpStream}; -use crate::proto::{Connection, ServerRequest, ServerResponse}; +use crate::proto::{FrameStream, ServerRequest, ServerResponse}; async fn process(stream: TcpStream) -> io::Result<()> { let mut connection = - Connection::::new(stream); + FrameStream::::new(stream); let _request = match connection.read().await? { ServerRequest::LoginRequest(request) => request,