pub fn split<S: Session>( stream: TcpStream, session: S, buffer_size: usize) -> (ReadHalf<S>, WriteHalf<S>)