Split protocol.rs into protocol/ directory, standardize imports, clean lib.rs

- Replace use super::*; in node/lifecycle.rs with explicit imports,
  remove 10 resulting unused imports from node/mod.rs
- Split protocol.rs (1838 lines) into protocol/ directory:
  mod.rs (re-exports), error.rs, link.rs, tree.rs, filter.rs,
  discovery.rs, session.rs — each with co-located tests
- Remove unused flat re-exports from lib.rs for internal utility
  modules (wire, index, rate_limit, icmp, noise, tun)
- 316 tests pass, zero warnings
This commit is contained in:
Johnathan Corgan
2026-02-11 05:02:02 +00:00
parent cc29c51cac
commit 066865ddd7
12 changed files with 1943 additions and 1869 deletions
+31
View File
@@ -0,0 +1,31 @@
//! Protocol error types.
use thiserror::Error;
/// Errors related to protocol message handling.
#[derive(Debug, Error)]
pub enum ProtocolError {
#[error("invalid message type: 0x{0:02x}")]
InvalidMessageType(u8),
#[error("message too short: expected at least {expected}, got {got}")]
MessageTooShort { expected: usize, got: usize },
#[error("message too long: max {max}, got {got}")]
MessageTooLong { max: usize, got: usize },
#[error("invalid signature")]
InvalidSignature,
#[error("unsupported protocol version: {0}")]
UnsupportedVersion(u8),
#[error("malformed message: {0}")]
Malformed(String),
#[error("hop limit exceeded")]
HopLimitExceeded,
#[error("ttl expired")]
TtlExpired,
}