pub async fn read_client_message( data: impl AsyncRead + Unpin, ) -> DecodeResult<Option<ClientMessage>>