use crate::{Request, Response}; use mio::{net::TcpStream, Token}; use std::net::SocketAddr; pub struct Connection { pub stream: TcpStream, pub state: RequestState, pub address: SocketAddr, pub token: Token, } impl Connection { pub fn new(stream: TcpStream, address: SocketAddr, token: Token) -> Self { Self { stream, address, token, state: RequestState::Incoming(Vec::new()), } } } pub enum RequestState { Incoming(Vec), Processing(Req), Outgoing(Res), }