pub async fn read_frame<T: AsyncRead + Unpin>( s: T, max_length: Option<usize>) -> Result<Vec<u8>, ReadError>