mirror of
https://seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5.git
synced 2026-11-16 00:00:37 +08:00
This is a large change that introduces transport encryption via a Noise_XK handshake. The inner `Service` now works directly with `NodeId` and doesn't need to interact with socket addresses. The transport logic takes place in `wire::transport`, and the established sessions are passed down to `Service`. Note that the i/o implementation in the `poll-reactor` crate still needs testing, and there is still work to be done to integrate the Git transport as part of this architecture. Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
38 lines
1.1 KiB
Rust
38 lines
1.1 KiB
Rust
use std::io;
|
|
|
|
use thiserror::Error;
|
|
|
|
use crate::address;
|
|
use crate::service::{routing, tracking};
|
|
|
|
pub mod handle;
|
|
|
|
/// Directory in `$RAD_HOME` under which node-specific files are stored.
|
|
pub const NODE_DIR: &str = "node";
|
|
/// Filename of routing table database under [`NODE_DIR`].
|
|
pub const ROUTING_DB_FILE: &str = "routing.db";
|
|
/// Filename of address database under [`NODE_DIR`].
|
|
pub const ADDRESS_DB_FILE: &str = "addresses.db";
|
|
/// Filename of tracking table database under [`NODE_DIR`].
|
|
pub const TRACKING_DB_FILE: &str = "tracking.db";
|
|
|
|
/// A client error.
|
|
#[derive(Error, Debug)]
|
|
pub enum Error {
|
|
/// A routing database error.
|
|
#[error("routing database error: {0}")]
|
|
Routing(#[from] routing::Error),
|
|
/// An address database error.
|
|
#[error("address database error: {0}")]
|
|
Addresses(#[from] address::Error),
|
|
/// A tracking database error.
|
|
#[error("tracking database error: {0}")]
|
|
Tracking(#[from] tracking::Error),
|
|
/// An I/O error.
|
|
#[error("i/o error: {0}")]
|
|
Io(#[from] io::Error),
|
|
/// A networking error.
|
|
#[error("network error: {0}")]
|
|
Net(#[from] nakamoto_net::error::Error),
|
|
}
|