use crate::ocp1::{
pdu::{
InvalidMessageCount, InvalidPduType, InvalidProtocolVersion, InvalidSyncValue,
MessageCount, PduSize, PduType,
},
utils::writer::Error as WriterError,
};
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("incomplete input, expected more bytes")]
IncompleteInput,
#[error(transparent)]
InvalidSyncValue(#[from] InvalidSyncValue),
#[error(transparent)]
UnexpectedProtocolVersion(#[from] InvalidProtocolVersion),
#[error(transparent)]
UnexpectedPduType(#[from] InvalidPduType),
#[error("invalid pdu size {0:?}")]
InvalidPduSize(PduSize),
#[error(transparent)]
InvalidMessageCount(#[from] InvalidMessageCount),
#[error("invalid message size {0}")]
InvalidMessageSize(usize),
#[error("invalid message count for {0:?}: {1:?}")]
InvalidMessageCountForPduType(PduType, MessageCount),
#[error("unexpected notification1 parameter count {0}")]
UnexpectedNotification1ParameterCount(u8),
#[error("unexpected notification2 type {0}")]
UnexpectedNotification2Type(u8),
#[error("invalid keep-alive payload size {0}")]
InvalidKeepAlivePayloadSize(usize),
#[error(transparent)]
WriterError(#[from] WriterError),
}