#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("unknown error; query is in an unspecified state")]
UnspecifiedQueryState,
#[error("unexpected ReplyInProgress state for query")]
UnexpectedReplyInProgress,
#[error("unexpected RequestInProgress state for query")]
UnexpectedRequestInProgress,
#[error("remote sent QuerySubmit when reply chunk expected")]
ReceivedSubmitWhenExpectingReplyChunk,
#[error("remote sent QueryReply when submit chunk expected")]
ReceivedReplyWhenExpectingSubmitChunk,
#[error("received additional message for ID '{id}' after query completion")]
MoreAfterQueryComplete { id: usize },
#[error("invalid JSON in query key")]
InvalidJsonInQueryKey(#[source] serde_json::Error),
#[error("invalid JSON in query output")]
InvalidJsonInQueryOutput(#[source] serde_json::Error),
}