From ffb9c05de1c755dbddd8b67cca1d6023b213115f Mon Sep 17 00:00:00 2001 From: lancebord Date: Fri, 6 Mar 2026 18:09:52 -0500 Subject: initial commit --- src/proto/error.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/proto/error.rs (limited to 'src/proto/error.rs') diff --git a/src/proto/error.rs b/src/proto/error.rs new file mode 100644 index 0000000..8a901ce --- /dev/null +++ b/src/proto/error.rs @@ -0,0 +1,25 @@ +use thiserror::Error; + +#[derive(Debug, Error, PartialEq)] +pub enum ParseError { + #[error("message is empty")] + EmptyMessage, + + #[error("missing command")] + MissingCommand, + + #[error("invalid tag format: {0}")] + InvalidTag(String), + + #[error("line exceeds max message length")] + MessageTooLong, +} + +#[derive(Debug, Error)] +pub enum CodecError { + #[error("parse error: {0}")] + Parse(#[from] ParseError), + + #[error("I/O error: {0}")] + Io(#[from] std::io::Error), +} -- cgit v1.2.3-59-g8ed1b