summaryrefslogtreecommitdiff
path: root/crates/utils/tcp_connection/src/error.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-09-26 17:15:06 +0800
committer魏曹先生 <1992414357@qq.com>2025-09-26 17:15:06 +0800
commite8160eda1b68a42b8d861bbec5e9c1dc555ea783 (patch)
tree6ab8565cd71aa01009303efb560bb34dbd4a7480 /crates/utils/tcp_connection/src/error.rs
parentbb4a3f46d9d217fd71ee8a0ebdd78cc2c427fa9f (diff)
feat(tcp_connection): add MessagePack serialization support
- Add rmp-serde dependency for MessagePack serialization - Implement write_msgpack and read_msgpack methods for basic MessagePack support - Add write_large_msgpack and read_large_msgpack methods for chunked transmission - Add error conversions for rmp-serde errors - Add comprehensive tests for MessagePack functionality - Fix code formatting and improve readability - Make stream field pub(crate) for better access control All tests pass successfully, ensuring backward compatibility.
Diffstat (limited to 'crates/utils/tcp_connection/src/error.rs')
-rw-r--r--crates/utils/tcp_connection/src/error.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/utils/tcp_connection/src/error.rs b/crates/utils/tcp_connection/src/error.rs
index 171e23d..ffcce6f 100644
--- a/crates/utils/tcp_connection/src/error.rs
+++ b/crates/utils/tcp_connection/src/error.rs
@@ -32,6 +32,9 @@ pub enum TcpTargetError {
#[error("Unsupported operation: {0}")]
Unsupported(String),
+
+ #[error("Pool already exists: {0}")]
+ PoolAlreadyExists(String),
}
impl From<io::Error> for TcpTargetError {
@@ -87,3 +90,15 @@ impl From<pem::PemError> for TcpTargetError {
TcpTargetError::Crypto(error.to_string())
}
}
+
+impl From<rmp_serde::encode::Error> for TcpTargetError {
+ fn from(error: rmp_serde::encode::Error) -> Self {
+ TcpTargetError::Serialization(error.to_string())
+ }
+}
+
+impl From<rmp_serde::decode::Error> for TcpTargetError {
+ fn from(error: rmp_serde::decode::Error) -> Self {
+ TcpTargetError::Serialization(error.to_string())
+ }
+}