use thiserror::Error;
#[derive(Error, Debug)]
pub enum CodecError {
#[error("Failed to serialize payload into MessagePack: {0}")]
MessagePackSerializationError(rmp_serde::encode::Error),
#[error("Failed to deserialize MessagePack payload: {0}")]
MessagePackDeserializationError(rmp_serde::decode::Error),
#[error("Failed to serialize payload into JSON: {0}")]
JsonSerializationError(serde_json::Error),
#[error("Failed to deserialize JSON payload: {0}")]
JsonDeserializationError(serde_json::Error),
#[error("Failed to serialize payload: {0}")]
SerializationError(serde_value::SerializerError),
#[error("Failed to deserialize payload: {0}")]
DeserializationError(serde_value::DeserializerError),
#[error("Input data for port '{0}' missing")]
MissingInput(String),
#[doc(hidden)]
#[error("General error : {0}")]
Other(String),
}