#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum ParseError {
#[error("Empty binary message")]
EmptyBinaryMessage,
#[error("Unhandled message type")]
UnhandledMessageType,
#[error("Unknown binary opcode {0}")]
InvalidOpcode(u8),
#[error("Buffer too short")]
BufferTooShort,
#[error("Invalid fetch asset status {0}")]
InvalidFetchAssetStatus(u8),
#[error(transparent)]
Utf8(#[from] std::str::Utf8Error),
#[error(transparent)]
Json(#[from] serde_json::Error),
#[doc(hidden)]
#[error("Invalid playback command {0}")]
InvalidPlaybackCommand(u8),
#[doc(hidden)]
#[error("Invalid playback status {0}")]
InvalidPlaybackStatus(u8),
}