pub mod rns_transport
pub mod rns_transport::actor
pub struct rns_transport::actor::DiscoveryPathRequest
impl rns_transport::path_discovery::DiscoveryPathRequest
pub fn rns_transport::path_discovery::DiscoveryPathRequest::deadline(&self) -> f64
pub fn rns_transport::path_discovery::DiscoveryPathRequest::destination_hash(&self) -> [u8; 16]
pub fn rns_transport::path_discovery::DiscoveryPathRequest::requesters(&self) -> &[rns_transport::path_discovery::DiscoveryRequester]
pub struct rns_transport::actor::PendingDiscoveryPathRequest
pub rns_transport::actor::PendingDiscoveryPathRequest::blocked_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::actor::PendingDiscoveryPathRequest::destination_hash: [u8; 16]
pub struct rns_transport::actor::PersistenceTrigger
impl rns_transport::actor::PersistenceTrigger
pub async fn rns_transport::actor::PersistenceTrigger::request(&self) -> bool
pub struct rns_transport::actor::RecentAnnounce
pub rns_transport::actor::RecentAnnounce::app_data: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::actor::RecentAnnounce::dest_hash: [u8; 16]
pub rns_transport::actor::RecentAnnounce::hops: u8
pub rns_transport::actor::RecentAnnounce::is_path_response: bool
pub rns_transport::actor::RecentAnnounce::last_used: core::option::Option<f64>
pub rns_transport::actor::RecentAnnounce::name_hash: [u8; 10]
pub rns_transport::actor::RecentAnnounce::packet_hash: core::option::Option<[u8; 32]>
pub rns_transport::actor::RecentAnnounce::public_key: core::option::Option<[u8; 64]>
pub rns_transport::actor::RecentAnnounce::ratchet: core::option::Option<[u8; 32]>
pub rns_transport::actor::RecentAnnounce::retained: bool
pub rns_transport::actor::RecentAnnounce::timestamp: f64
pub struct rns_transport::actor::TransportActor
pub rns_transport::actor::TransportActor::announce_sweep_in_flight: alloc::sync::Arc<core::sync::atomic::AtomicBool>
pub rns_transport::actor::TransportActor::announce_table: rns_transport::announce::AnnounceTable
pub rns_transport::actor::TransportActor::blackhole_sources: alloc::vec::Vec<[u8; 16]>
pub rns_transport::actor::TransportActor::blackhole_table: rns_transport::blackhole::BlackholeTable
pub rns_transport::actor::TransportActor::blackholed_snapshot: alloc::sync::Arc<std::sync::poison::rwlock::RwLock<std::collections::hash::set::HashSet<[u8; 16]>>>
pub rns_transport::actor::TransportActor::channel_drops: u64
pub rns_transport::actor::TransportActor::destination_channels: std::collections::hash::map::HashMap<[u8; 16], tokio::sync::mpsc::bounded::Sender<rns_transport::link_messages::DestinationEvent>>
pub rns_transport::actor::TransportActor::discovery_pr_tags: std::collections::hash::map::HashMap<alloc::vec::Vec<u8>, f64>
pub rns_transport::actor::TransportActor::ephemeral_identity_hash: core::option::Option<[u8; 16]>
pub rns_transport::actor::TransportActor::hashlist_save_in_flight: alloc::sync::Arc<core::sync::atomic::AtomicBool>
pub rns_transport::actor::TransportActor::held_announces: std::collections::hash::map::HashMap<[u8; 16], rns_transport::announce::AnnounceEntry>
pub rns_transport::actor::TransportActor::interfaces: std::collections::hash::map::HashMap<rns_transport::messages::InterfaceId, rns_transport::messages::InterfaceEntry>
pub rns_transport::actor::TransportActor::internal_identity_hash: core::option::Option<[u8; 16]>
pub rns_transport::actor::TransportActor::is_foreground: alloc::sync::Arc<core::sync::atomic::AtomicBool>
pub rns_transport::actor::TransportActor::is_shared_instance: bool
pub rns_transport::actor::TransportActor::is_transport_enabled: bool
pub rns_transport::actor::TransportActor::last_state_save: f64
pub rns_transport::actor::TransportActor::link_table: rns_transport::link_table::LinkTable
pub rns_transport::actor::TransportActor::local_destinations: std::collections::hash::set::HashSet<[u8; 16]>
pub rns_transport::actor::TransportActor::local_hops_delta: u8
pub rns_transport::actor::TransportActor::packet_hashlist: rns_transport::hashlist::PacketHashlist
pub rns_transport::actor::TransportActor::packet_metrics: std::collections::hash::map::HashMap<[u8; 32], rns_transport::link_messages::PacketMetrics>
pub rns_transport::actor::TransportActor::packet_metrics_order: alloc::collections::vec_deque::VecDeque<[u8; 32]>
pub rns_transport::actor::TransportActor::path_interface_suppressions: std::collections::hash::map::HashMap<([u8; 16], rns_transport::messages::InterfaceId), f64>
pub rns_transport::actor::TransportActor::path_requests: std::collections::hash::map::HashMap<[u8; 16], f64>
pub rns_transport::actor::TransportActor::path_states: std::collections::hash::map::HashMap<[u8; 16], rns_transport::constants::PathState>
pub rns_transport::actor::TransportActor::path_table: rns_transport::path_table::PathTable
pub rns_transport::actor::TransportActor::path_waiters: std::collections::hash::map::HashMap<[u8; 16], alloc::vec::Vec<(tokio::sync::oneshot::Sender<bool>, f64)>>
pub rns_transport::actor::TransportActor::pending_discovery_prs: alloc::collections::vec_deque::VecDeque<rns_transport::actor::PendingDiscoveryPathRequest>
pub rns_transport::actor::TransportActor::pending_local_path_requests: std::collections::hash::map::HashMap<[u8; 16], rns_transport::messages::InterfaceId>
pub rns_transport::actor::TransportActor::pending_path_entries: alloc::vec::Vec<rns_transport::persistence::PersistedPathEntry>
pub rns_transport::actor::TransportActor::pending_tunnel_entries: alloc::vec::Vec<rns_transport::persistence::PersistedTunnelEntry>
pub rns_transport::actor::TransportActor::rate_table: rns_transport::rate_limit::RateTable
pub rns_transport::actor::TransportActor::receipt_msg_ids: std::collections::hash::map::HashMap<[u8; 16], alloc::string::String>
pub rns_transport::actor::TransportActor::receipt_proof_txs: std::collections::hash::map::HashMap<[u8; 16], tokio::sync::mpsc::unbounded::UnboundedSender<rns_transport::link_messages::DestinationEvent>>
pub rns_transport::actor::TransportActor::receipt_table: std::collections::hash::map::HashMap<[u8; 16], rns_wire::receipt::PacketReceipt>
pub rns_transport::actor::TransportActor::receipt_updates: std::collections::hash::map::HashMap<[u8; 16], tokio::sync::watch::Sender<rns_transport::messages::ReceiptUpdate>>
pub rns_transport::actor::TransportActor::recent_announces: std::collections::hash::map::HashMap<[u8; 16], rns_transport::actor::RecentAnnounce>
pub rns_transport::actor::TransportActor::reverse_table: rns_transport::reverse_table::ReverseTable
pub rns_transport::actor::TransportActor::routing_save_generation: alloc::sync::Arc<core::sync::atomic::AtomicU64>
pub rns_transport::actor::TransportActor::routing_save_in_flight: alloc::sync::Arc<core::sync::atomic::AtomicBool>
pub rns_transport::actor::TransportActor::routing_save_lock: alloc::sync::Arc<std::sync::poison::mutex::Mutex<()>>
pub rns_transport::actor::TransportActor::shared_instance_client_mode: bool
pub rns_transport::actor::TransportActor::state_dirty: bool
pub rns_transport::actor::TransportActor::static_transport_identity: bool
pub rns_transport::actor::TransportActor::storage_dir: core::option::Option<std::path::PathBuf>
pub rns_transport::actor::TransportActor::traffic: rns_transport::traffic::TrafficCounter
pub rns_transport::actor::TransportActor::transport_identity_hash: core::option::Option<[u8; 16]>
pub rns_transport::actor::TransportActor::tunnel_table: rns_transport::tunnel::TunnelTable
impl rns_transport::actor::TransportActor
pub fn rns_transport::actor::TransportActor::announce_dispatch_handle(&self) -> rns_transport::announce_dispatch::AnnounceDispatchHandle
impl rns_transport::actor::TransportActor
pub fn rns_transport::actor::TransportActor::cancel_discovery_requester(&mut self, &rns_transport::path_discovery::DiscoveryRequester) -> bool
pub fn rns_transport::actor::TransportActor::discovery_path_request(&self, &[u8; 16]) -> core::option::Option<rns_transport::path_discovery::DiscoveryPathRequest>
pub fn rns_transport::actor::TransportActor::discovery_path_requests(&self) -> alloc::vec::Vec<rns_transport::path_discovery::DiscoveryPathRequest>
pub fn rns_transport::actor::TransportActor::request_recursive_discovery(&mut self, [u8; 16], rns_transport::messages::InterfaceId) -> core::result::Result<rns_transport::path_discovery::DiscoveryAdmission, rns_transport::path_discovery::DiscoveryError>
impl rns_transport::actor::TransportActor
pub fn rns_transport::actor::TransportActor::has_path(&self, &[u8; 16]) -> bool
pub fn rns_transport::actor::TransportActor::hops_to(&self, &[u8; 16]) -> core::option::Option<u8>
pub fn rns_transport::actor::TransportActor::initialize_storage(&mut self, std::path::PathBuf)
pub fn rns_transport::actor::TransportActor::link_endpoint_dispatch_handle(&self) -> rns_transport::link_endpoint_dispatch::LinkEndpointDispatchHandle
pub fn rns_transport::actor::TransportActor::new() -> (Self, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>)
pub fn rns_transport::actor::TransportActor::new_with_capacity(usize, usize) -> (Self, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>)
pub fn rns_transport::actor::TransportActor::persistence_trigger(&self) -> rns_transport::actor::PersistenceTrigger
pub async fn rns_transport::actor::TransportActor::run(self)
impl rns_transport::actor::TransportActor
pub fn rns_transport::actor::TransportActor::path_recovery_handle(&mut self) -> rns_transport::path_recovery::PathRecoveryHandle
pub mod rns_transport::announce
pub struct rns_transport::announce::AnnounceEntry
pub rns_transport::announce::AnnounceEntry::attached_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::announce::AnnounceEntry::block_rebroadcast: bool
pub rns_transport::announce::AnnounceEntry::hops: u8
pub rns_transport::announce::AnnounceEntry::local_rebroadcasts: u32
pub rns_transport::announce::AnnounceEntry::packet_raw: alloc::vec::Vec<u8>
pub rns_transport::announce::AnnounceEntry::received_from: [u8; 16]
pub rns_transport::announce::AnnounceEntry::retransmit_timeout: f64
pub rns_transport::announce::AnnounceEntry::retries: u8
pub rns_transport::announce::AnnounceEntry::source_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::announce::AnnounceEntry::timestamp: f64
pub struct rns_transport::announce::AnnounceTable
impl rns_transport::announce::AnnounceTable
pub fn rns_transport::announce::AnnounceTable::cull_exhausted(&mut self, u8) -> usize
pub fn rns_transport::announce::AnnounceTable::due_for_retransmit(&self, f64) -> alloc::vec::Vec<rns_wire::types::DestHash>
pub fn rns_transport::announce::AnnounceTable::get(&self, &[u8; 16]) -> core::option::Option<&rns_transport::announce::AnnounceEntry>
pub fn rns_transport::announce::AnnounceTable::get_mut(&mut self, &[u8; 16]) -> core::option::Option<&mut rns_transport::announce::AnnounceEntry>
pub fn rns_transport::announce::AnnounceTable::insert(&mut self, impl core::convert::Into<rns_wire::types::DestHash>, rns_transport::announce::AnnounceEntry)
pub fn rns_transport::announce::AnnounceTable::is_empty(&self) -> bool
pub fn rns_transport::announce::AnnounceTable::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&rns_wire::types::DestHash, &rns_transport::announce::AnnounceEntry)>
pub fn rns_transport::announce::AnnounceTable::len(&self) -> usize
pub fn rns_transport::announce::AnnounceTable::new() -> Self
pub fn rns_transport::announce::AnnounceTable::remove(&mut self, &[u8; 16]) -> core::option::Option<rns_transport::announce::AnnounceEntry>
impl core::default::Default for rns_transport::announce::AnnounceTable
pub fn rns_transport::announce::AnnounceTable::default() -> Self
pub mod rns_transport::announce_dispatch
#[non_exhaustive] pub enum rns_transport::announce_dispatch::AnnounceDispatchError
pub rns_transport::announce_dispatch::AnnounceDispatchError::Closed
pub rns_transport::announce_dispatch::AnnounceDispatchError::Full
#[non_exhaustive] pub enum rns_transport::announce_dispatch::AnnounceDispatchResult
pub rns_transport::announce_dispatch::AnnounceDispatchResult::Admitted
pub rns_transport::announce_dispatch::AnnounceDispatchResult::Expired
pub rns_transport::announce_dispatch::AnnounceDispatchResult::Invalid
pub rns_transport::announce_dispatch::AnnounceDispatchResult::NoEligibleInterface
pub struct rns_transport::announce_dispatch::AnnounceDispatchHandle
impl rns_transport::announce_dispatch::AnnounceDispatchHandle
pub fn rns_transport::announce_dispatch::AnnounceDispatchHandle::try_dispatch(&self, bytes::bytes::Bytes, core::option::Option<rns_transport::messages::InterfaceId>, core::time::Duration) -> core::result::Result<tokio::sync::oneshot::Receiver<rns_transport::announce_dispatch::AnnounceDispatchResult>, rns_transport::announce_dispatch::AnnounceDispatchError>
pub mod rns_transport::await_path
pub enum rns_transport::await_path::AwaitPathError
pub rns_transport::await_path::AwaitPathError::Timeout
pub rns_transport::await_path::AwaitPathError::TransportDown
pub async fn rns_transport::await_path::await_path(&tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>, [u8; 16], core::time::Duration) -> core::result::Result<(), rns_transport::await_path::AwaitPathError>
pub mod rns_transport::background_egress
#[non_exhaustive] pub enum rns_transport::background_egress::BackgroundRegistrationError
pub rns_transport::background_egress::BackgroundRegistrationError::Capacity
pub rns_transport::background_egress::BackgroundRegistrationError::Duplicate
pub struct rns_transport::background_egress::BackgroundAnnounceReceiver
impl rns_transport::background_egress::BackgroundAnnounceReceiver
pub fn rns_transport::background_egress::BackgroundAnnounceReceiver::has_offer(&self) -> bool
pub fn rns_transport::background_egress::BackgroundAnnounceReceiver::ordinary_is_empty(&self) -> bool
pub fn rns_transport::background_egress::BackgroundAnnounceReceiver::register(&tokio::sync::mpsc::bounded::Sender<bytes::bytes::Bytes>) -> core::result::Result<Self, rns_transport::background_egress::BackgroundRegistrationError>
pub fn rns_transport::background_egress::BackgroundAnnounceReceiver::retire_generation(&self)
pub fn rns_transport::background_egress::BackgroundAnnounceReceiver::try_start(&self, f64) -> core::option::Option<rns_transport::background_egress::BackgroundPacket>
pub fn rns_transport::background_egress::BackgroundAnnounceReceiver::try_start_when(&self, f64, impl core::ops::function::FnOnce() -> bool) -> core::option::Option<rns_transport::background_egress::BackgroundPacket>
pub struct rns_transport::background_egress::BackgroundPacket
impl rns_transport::background_egress::BackgroundPacket
pub fn rns_transport::background_egress::BackgroundPacket::raw(&self) -> &bytes::bytes::Bytes
impl core::ops::drop::Drop for rns_transport::background_egress::BackgroundPacket
pub fn rns_transport::background_egress::BackgroundPacket::drop(&mut self)
pub mod rns_transport::blackhole
pub enum rns_transport::blackhole::BlackholeReason
pub rns_transport::blackhole::BlackholeReason::Malformed
pub rns_transport::blackhole::BlackholeReason::Manual
pub rns_transport::blackhole::BlackholeReason::ProtocolViolation
pub rns_transport::blackhole::BlackholeReason::RateLimit
impl rns_transport::blackhole::BlackholeReason
pub fn rns_transport::blackhole::BlackholeReason::as_str(&self) -> &'static str
pub fn rns_transport::blackhole::BlackholeReason::parse(&str) -> Self
pub struct rns_transport::blackhole::BlackholeEntry
pub rns_transport::blackhole::BlackholeEntry::created: f64
pub rns_transport::blackhole::BlackholeEntry::reason: rns_transport::blackhole::BlackholeReason
pub rns_transport::blackhole::BlackholeEntry::reason_label: core::option::Option<alloc::string::String>
pub rns_transport::blackhole::BlackholeEntry::source: core::option::Option<rns_wire::types::IdentityHash>
pub rns_transport::blackhole::BlackholeEntry::ttl: core::option::Option<f64>
impl rns_transport::blackhole::BlackholeEntry
pub fn rns_transport::blackhole::BlackholeEntry::reason_str(&self) -> &str
pub struct rns_transport::blackhole::BlackholeTable
impl rns_transport::blackhole::BlackholeTable
pub fn rns_transport::blackhole::BlackholeTable::add(&mut self, impl core::convert::Into<rns_wire::types::IdentityHash>, core::option::Option<f64>)
pub fn rns_transport::blackhole::BlackholeTable::add_from_source(&mut self, impl core::convert::Into<rns_wire::types::IdentityHash>, core::option::Option<f64>, rns_transport::blackhole::BlackholeReason, rns_wire::types::IdentityHash, f64)
pub fn rns_transport::blackhole::BlackholeTable::add_with_reason(&mut self, impl core::convert::Into<rns_wire::types::IdentityHash>, core::option::Option<f64>, rns_transport::blackhole::BlackholeReason)
pub fn rns_transport::blackhole::BlackholeTable::add_with_reason_label(&mut self, impl core::convert::Into<rns_wire::types::IdentityHash>, core::option::Option<f64>, rns_transport::blackhole::BlackholeReason, core::option::Option<alloc::string::String>)
pub fn rns_transport::blackhole::BlackholeTable::clear_system_entries(&mut self) -> usize
pub fn rns_transport::blackhole::BlackholeTable::cull_expired(&mut self) -> usize
pub fn rns_transport::blackhole::BlackholeTable::insert_entry(&mut self, impl core::convert::Into<rns_wire::types::IdentityHash>, rns_transport::blackhole::BlackholeEntry)
pub fn rns_transport::blackhole::BlackholeTable::is_blackholed(&self, &[u8; 16]) -> bool
pub fn rns_transport::blackhole::BlackholeTable::is_empty(&self) -> bool
pub fn rns_transport::blackhole::BlackholeTable::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = &rns_wire::types::IdentityHash>
pub fn rns_transport::blackhole::BlackholeTable::iter_entries(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&rns_wire::types::IdentityHash, &rns_transport::blackhole::BlackholeEntry)>
pub fn rns_transport::blackhole::BlackholeTable::len(&self) -> usize
pub fn rns_transport::blackhole::BlackholeTable::new() -> Self
pub fn rns_transport::blackhole::BlackholeTable::remove(&mut self, &[u8; 16]) -> bool
impl core::default::Default for rns_transport::blackhole::BlackholeTable
pub fn rns_transport::blackhole::BlackholeTable::default() -> Self
pub mod rns_transport::constants
pub enum rns_transport::constants::InterfaceMode
pub rns_transport::constants::InterfaceMode::AccessPoint
pub rns_transport::constants::InterfaceMode::Boundary
pub rns_transport::constants::InterfaceMode::Full
pub rns_transport::constants::InterfaceMode::Gateway
pub rns_transport::constants::InterfaceMode::Internal
pub rns_transport::constants::InterfaceMode::PointToPoint
pub rns_transport::constants::InterfaceMode::Roaming
#[repr(u8)] pub enum rns_transport::constants::PathState
pub rns_transport::constants::PathState::Responsive = 2
pub rns_transport::constants::PathState::Unknown = 0
pub rns_transport::constants::PathState::Unresponsive = 1
#[repr(u8)] pub enum rns_transport::constants::Reachability
pub rns_transport::constants::Reachability::Direct = 1
pub rns_transport::constants::Reachability::Transport = 2
pub rns_transport::constants::Reachability::Unreachable = 0
#[repr(u8)] pub enum rns_transport::constants::TransportMode
pub rns_transport::constants::TransportMode::Broadcast = 0
pub rns_transport::constants::TransportMode::Relay = 2
pub rns_transport::constants::TransportMode::Transport = 1
pub rns_transport::constants::TransportMode::Tunnel = 3
pub struct rns_transport::constants::InterfaceDirection
pub rns_transport::constants::InterfaceDirection::inbound: bool
pub rns_transport::constants::InterfaceDirection::outbound: bool
impl rns_transport::constants::InterfaceDirection
pub fn rns_transport::constants::InterfaceDirection::bidirectional() -> Self
pub fn rns_transport::constants::InterfaceDirection::inbound_only() -> Self
pub fn rns_transport::constants::InterfaceDirection::outbound_only() -> Self
pub const rns_transport::constants::ANNOUNCES_CHECK_INTERVAL: f64
pub const rns_transport::constants::ANNOUNCE_CACHE_SWEEP_GRACE_SECS: u64
pub const rns_transport::constants::ANNOUNCE_CACHE_SWEEP_INTERVAL: f64
pub const rns_transport::constants::ANNOUNCE_CAP: f64
pub const rns_transport::constants::ANNOUNCE_QUEUE_INTERVAL: f64
pub const rns_transport::constants::AP_PATH_TIME: u64
pub const rns_transport::constants::AR_FREQ_DECAY: f64
pub const rns_transport::constants::AR_MINFREQ_HZ: f64
pub const rns_transport::constants::BLACKHOLE_CHECK_INTERVAL: f64
pub const rns_transport::constants::CACHE_CLEAN_INTERVAL: f64
pub const rns_transport::constants::DESTINATION_TIMEOUT: u64
pub const rns_transport::constants::DISCOVERY_PR_TX_THROTTLE: f64
pub const rns_transport::constants::EC_PR_FREQ: f64
pub const rns_transport::constants::EGRESS_CONTROL: bool
pub const rns_transport::constants::HASHLIST_MAXSIZE: usize
pub const rns_transport::constants::IA_FREQ_SAMPLES: usize
pub const rns_transport::constants::IC_BURST_FREQ: f64
pub const rns_transport::constants::IC_BURST_FREQ_NEW: f64
pub const rns_transport::constants::IC_BURST_HOLD: f64
pub const rns_transport::constants::IC_BURST_MIN_SAMPLES: usize
pub const rns_transport::constants::IC_BURST_PENALTY: f64
pub const rns_transport::constants::IC_DEQUE_MIN_SAMPLE: usize
pub const rns_transport::constants::IC_HELD_RELEASE_INTERVAL: f64
pub const rns_transport::constants::IC_NEW_TIME: f64
pub const rns_transport::constants::IC_PR_BURST_FREQ: f64
pub const rns_transport::constants::IC_PR_BURST_FREQ_NEW: f64
pub const rns_transport::constants::INTERFACE_JOBS_INTERVAL: f64
pub const rns_transport::constants::IP_FREQ_SAMPLES: usize
pub const rns_transport::constants::JOB_INTERVAL_BG_MS: u64
pub const rns_transport::constants::JOB_INTERVAL_MS: u64
pub const rns_transport::constants::LINKS_CHECK_INTERVAL: f64
pub const rns_transport::constants::LINK_ENDPOINT_EGRESS_QUEUE_CAPACITY: usize
pub const rns_transport::constants::LINK_TIMEOUT: f64
pub const rns_transport::constants::LOCAL_CLIENT_CACHE_MAXSIZE: usize
pub const rns_transport::constants::LOCAL_REBROADCASTS_MAX: u32
pub const rns_transport::constants::MAX_DISCOVERY_PR_TAGS: usize
pub const rns_transport::constants::MAX_HELD_ANNOUNCES: usize
pub const rns_transport::constants::MAX_QUEUED_ANNOUNCES: usize
pub const rns_transport::constants::MAX_QUEUED_DISCOVERY_PRS: usize
pub const rns_transport::constants::MAX_RANDOM_BLOBS: usize
pub const rns_transport::constants::MAX_RATE_TIMESTAMPS: usize
pub const rns_transport::constants::MAX_RECEIPTS: usize
pub const rns_transport::constants::MGMT_ANNOUNCE_INTERVAL: f64
pub const rns_transport::constants::OA_FREQ_SAMPLES: usize
pub const rns_transport::constants::OP_FREQ_SAMPLES: usize
pub const rns_transport::constants::PATHFINDER_E: u64
pub const rns_transport::constants::PATHFINDER_G: f64
pub const rns_transport::constants::PATHFINDER_M: u8
pub const rns_transport::constants::PATHFINDER_R: u8
pub const rns_transport::constants::PATHFINDER_RW: f64
pub const rns_transport::constants::PATH_REQUEST_GATE_TIMEOUT: f64
pub const rns_transport::constants::PATH_REQUEST_GRACE: f64
pub const rns_transport::constants::PATH_REQUEST_MI: f64
pub const rns_transport::constants::PATH_REQUEST_RG: f64
pub const rns_transport::constants::PATH_REQUEST_TIMEOUT: f64
pub const rns_transport::constants::PENDING_PRS_CHECK_INTERVAL: f64
pub const rns_transport::constants::PERSIST_RANDOM_BLOBS: usize
pub const rns_transport::constants::PR_FREQ_DECAY: f64
pub const rns_transport::constants::PR_MINFREQ_HZ: f64
pub const rns_transport::constants::QUEUED_ANNOUNCE_LIFE: f64
pub const rns_transport::constants::RECEIPTS_CHECK_INTERVAL: f64
pub const rns_transport::constants::REVERSE_TIMEOUT: u64
pub const rns_transport::constants::ROAMING_PATH_TIME: u64
pub const rns_transport::constants::STARTUP_GRACE_PERIOD: f64
pub const rns_transport::constants::STATE_SAVE_INTERVAL_SECS: f64
pub const rns_transport::constants::TABLES_CULL_INTERVAL: f64
pub const rns_transport::constants::TUNNEL_PATH_TIMEOUT: u64
pub const rns_transport::constants::TUNNEL_TIMEOUT: u64
pub const rns_transport::constants::UNUSED_DESTINATION_LINGER: f64
pub mod rns_transport::discovery
pub mod rns_transport::discovery::announcer
pub enum rns_transport::discovery::announcer::SkipReason
pub rns_transport::discovery::announcer::SkipReason::EncryptionFailed
pub rns_transport::discovery::announcer::SkipReason::EncryptorMissing
pub rns_transport::discovery::announcer::SkipReason::NotDiscoverable
pub rns_transport::discovery::announcer::SkipReason::RateLimited
pub rns_transport::discovery::announcer::SkipReason::RateLimited::remaining_secs: u64
pub rns_transport::discovery::announcer::SkipReason::StampGenerationFailed
pub rns_transport::discovery::announcer::SkipReason::TypeNotAdvertisable
pub struct rns_transport::discovery::announcer::AnnounceRequest
pub rns_transport::discovery::announcer::AnnounceRequest::app_data: alloc::vec::Vec<u8>
pub rns_transport::discovery::announcer::AnnounceRequest::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::discovery::announcer::AnnounceRequest::stamp_value: u8
pub struct rns_transport::discovery::announcer::Announcer
impl rns_transport::discovery::announcer::Announcer
pub fn rns_transport::discovery::announcer::Announcer::commit(&mut self, &rns_transport::discovery::announcer::PreparedAnnounce, f64) -> bool
pub fn rns_transport::discovery::announcer::Announcer::deregister(&mut self, rns_transport::messages::InterfaceId)
pub fn rns_transport::discovery::announcer::Announcer::is_empty(&self) -> bool
pub fn rns_transport::discovery::announcer::Announcer::len(&self) -> usize
pub fn rns_transport::discovery::announcer::Announcer::new(alloc::sync::Arc<dyn rns_transport::discovery::stamper::DiscoveryStamper>) -> Self
pub fn rns_transport::discovery::announcer::Announcer::prepare(&mut self, f64, core::option::Option<rns_transport::discovery::announcer::EncryptFn<'_>>) -> (alloc::vec::Vec<rns_transport::discovery::announcer::PreparedAnnounce>, alloc::vec::Vec<(rns_transport::messages::InterfaceId, rns_transport::discovery::announcer::SkipReason)>)
pub fn rns_transport::discovery::announcer::Announcer::register(&mut self, rns_transport::messages::InterfaceId, [u8; 16], rns_transport::discovery::announcer::DiscoveryInterfaceConfig)
pub fn rns_transport::discovery::announcer::Announcer::tick(&mut self, f64, core::option::Option<rns_transport::discovery::announcer::EncryptFn<'_>>) -> (alloc::vec::Vec<rns_transport::discovery::announcer::AnnounceRequest>, alloc::vec::Vec<(rns_transport::messages::InterfaceId, rns_transport::discovery::announcer::SkipReason)>)
pub struct rns_transport::discovery::announcer::DiscoveryInterfaceConfig
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::announce_interval_secs: u64
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::bandwidth: core::option::Option<u64>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::channel: core::option::Option<u16>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::coding_rate: core::option::Option<u8>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::discoverable: bool
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::encrypt: bool
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::frequency: core::option::Option<u64>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::height: core::option::Option<f64>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::ifac_netkey: core::option::Option<alloc::string::String>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::ifac_netname: core::option::Option<alloc::string::String>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::interface_type: alloc::string::String
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::latitude: core::option::Option<f64>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::longitude: core::option::Option<f64>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::modulation: core::option::Option<alloc::string::String>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::name: alloc::string::String
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::port: core::option::Option<u16>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::reachable_on: core::option::Option<alloc::string::String>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::signed: bool
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::spreading_factor: core::option::Option<u8>
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::stamp_value: u8
pub rns_transport::discovery::announcer::DiscoveryInterfaceConfig::transport_enabled: bool
impl rns_transport::discovery::announcer::DiscoveryInterfaceConfig
pub fn rns_transport::discovery::announcer::DiscoveryInterfaceConfig::backbone(alloc::string::String, alloc::string::String, u16) -> Self
pub fn rns_transport::discovery::announcer::DiscoveryInterfaceConfig::is_advertisable(&self) -> bool
pub struct rns_transport::discovery::announcer::PreparedAnnounce
impl rns_transport::discovery::announcer::PreparedAnnounce
pub fn rns_transport::discovery::announcer::PreparedAnnounce::request(&self) -> &rns_transport::discovery::announcer::AnnounceRequest
pub type rns_transport::discovery::announcer::EncryptFn<'a> = &'a dyn core::ops::function::Fn(&[u8]) -> core::option::Option<alloc::vec::Vec<u8>>
pub mod rns_transport::discovery::app_data
pub enum rns_transport::discovery::app_data::AppDataError
pub rns_transport::discovery::app_data::AppDataError::BadTransportId(usize)
pub rns_transport::discovery::app_data::AppDataError::Empty
pub rns_transport::discovery::app_data::AppDataError::InvalidReachableOn(alloc::string::String)
pub rns_transport::discovery::app_data::AppDataError::MissingKey(u8)
pub rns_transport::discovery::app_data::AppDataError::Msgpack(alloc::string::String)
pub rns_transport::discovery::app_data::AppDataError::NotAMap
pub rns_transport::discovery::app_data::AppDataError::TooSmall
pub rns_transport::discovery::app_data::AppDataError::TooSmall::got: usize
pub rns_transport::discovery::app_data::AppDataError::TooSmall::need: usize
pub rns_transport::discovery::app_data::AppDataError::TypeMismatch
pub rns_transport::discovery::app_data::AppDataError::TypeMismatch::expected: &'static str
pub rns_transport::discovery::app_data::AppDataError::TypeMismatch::key: u8
pub rns_transport::discovery::app_data::AppDataError::UnsupportedInterfaceType(alloc::string::String)
pub struct rns_transport::discovery::app_data::DiscoveryInfo
pub rns_transport::discovery::app_data::DiscoveryInfo::bandwidth: core::option::Option<u64>
pub rns_transport::discovery::app_data::DiscoveryInfo::channel: core::option::Option<u16>
pub rns_transport::discovery::app_data::DiscoveryInfo::coding_rate: core::option::Option<u8>
pub rns_transport::discovery::app_data::DiscoveryInfo::frequency: core::option::Option<u64>
pub rns_transport::discovery::app_data::DiscoveryInfo::height: core::option::Option<f64>
pub rns_transport::discovery::app_data::DiscoveryInfo::ifac_netkey: core::option::Option<alloc::string::String>
pub rns_transport::discovery::app_data::DiscoveryInfo::ifac_netname: core::option::Option<alloc::string::String>
pub rns_transport::discovery::app_data::DiscoveryInfo::interface_type: alloc::string::String
pub rns_transport::discovery::app_data::DiscoveryInfo::latitude: core::option::Option<f64>
pub rns_transport::discovery::app_data::DiscoveryInfo::longitude: core::option::Option<f64>
pub rns_transport::discovery::app_data::DiscoveryInfo::modulation: core::option::Option<alloc::string::String>
pub rns_transport::discovery::app_data::DiscoveryInfo::name: alloc::string::String
pub rns_transport::discovery::app_data::DiscoveryInfo::port: core::option::Option<u16>
pub rns_transport::discovery::app_data::DiscoveryInfo::reachable_on: core::option::Option<alloc::string::String>
pub rns_transport::discovery::app_data::DiscoveryInfo::spreading_factor: core::option::Option<u8>
pub rns_transport::discovery::app_data::DiscoveryInfo::transport_enabled: bool
pub rns_transport::discovery::app_data::DiscoveryInfo::transport_id: [u8; 16]
pub struct rns_transport::discovery::app_data::Encoded
pub rns_transport::discovery::app_data::Encoded::infohash: [u8; 32]
pub rns_transport::discovery::app_data::Encoded::packed: alloc::vec::Vec<u8>
impl rns_transport::discovery::app_data::Encoded
pub fn rns_transport::discovery::app_data::Encoded::assemble(self, &[u8], bool, bool, core::option::Option<&rns_transport::discovery::app_data::DiscoveryEncryptor<'_>>) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::app_data::decode_info(&[u8]) -> core::result::Result<rns_transport::discovery::app_data::DiscoveryInfo, rns_transport::discovery::app_data::AppDataError>
pub fn rns_transport::discovery::app_data::encode_info(&rns_transport::discovery::app_data::DiscoveryInfo) -> core::result::Result<rns_transport::discovery::app_data::Encoded, rns_transport::discovery::app_data::AppDataError>
pub fn rns_transport::discovery::app_data::sanitize_name(&str) -> alloc::string::String
pub fn rns_transport::discovery::app_data::split_flags(&[u8]) -> core::result::Result<(u8, &[u8]), rns_transport::discovery::app_data::AppDataError>
pub fn rns_transport::discovery::app_data::split_stamp(&[u8]) -> core::result::Result<(&[u8], &[u8]), rns_transport::discovery::app_data::AppDataError>
pub type rns_transport::discovery::app_data::DiscoveryEncryptor<'a> = (dyn core::ops::function::Fn(&[u8]) -> core::option::Option<alloc::vec::Vec<u8>> + 'a)
pub mod rns_transport::discovery::blackhole_manifest
pub enum rns_transport::discovery::blackhole_manifest::ManifestError
pub rns_transport::discovery::blackhole_manifest::ManifestError::BadField(&'static str)
pub rns_transport::discovery::blackhole_manifest::ManifestError::BadKey
pub rns_transport::discovery::blackhole_manifest::ManifestError::Decode(alloc::string::String)
pub rns_transport::discovery::blackhole_manifest::ManifestError::Encode(alloc::string::String)
pub rns_transport::discovery::blackhole_manifest::ManifestError::EntryNotMap
pub rns_transport::discovery::blackhole_manifest::ManifestError::MissingField(&'static str)
pub rns_transport::discovery::blackhole_manifest::ManifestError::NotAMap
pub struct rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry
pub rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry::reason: alloc::string::String
pub rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry::source: rns_wire::types::IdentityHash
pub rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry::until: core::option::Option<f64>
pub fn rns_transport::discovery::blackhole_manifest::apply_manifest(&mut rns_transport::blackhole::BlackholeTable, &[([u8; 16], rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry)], f64) -> usize
pub fn rns_transport::discovery::blackhole_manifest::build_local_manifest(&rns_transport::blackhole::BlackholeTable, rns_wire::types::IdentityHash, core::option::Option<&std::collections::hash::set::HashSet<[u8; 16]>>) -> core::result::Result<alloc::vec::Vec<u8>, rns_transport::discovery::blackhole_manifest::ManifestError>
pub fn rns_transport::discovery::blackhole_manifest::decode_manifest(&[u8]) -> core::result::Result<alloc::vec::Vec<([u8; 16], rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry)>, rns_transport::discovery::blackhole_manifest::ManifestError>
pub mod rns_transport::discovery::blackhole_subscriber
pub struct rns_transport::discovery::blackhole_subscriber::SubscriberState
impl rns_transport::discovery::blackhole_subscriber::SubscriberState
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::due_sources(&self, &[rns_wire::types::IdentityHash], f64) -> alloc::vec::Vec<rns_wire::types::IdentityHash>
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::forget(&mut self, &rns_wire::types::IdentityHash)
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::mark_updated(&mut self, rns_wire::types::IdentityHash, f64)
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::new() -> Self
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::prune(&mut self, &[rns_wire::types::IdentityHash])
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::update_interval(&self) -> core::time::Duration
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::with_update_interval(self, core::time::Duration) -> Self
impl core::default::Default for rns_transport::discovery::blackhole_subscriber::SubscriberState
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::default() -> Self
pub const rns_transport::discovery::blackhole_subscriber::INITIAL_WAIT: core::time::Duration
pub const rns_transport::discovery::blackhole_subscriber::JOB_INTERVAL: core::time::Duration
pub const rns_transport::discovery::blackhole_subscriber::SOURCE_TIMEOUT: core::time::Duration
pub const rns_transport::discovery::blackhole_subscriber::UPDATE_INTERVAL: core::time::Duration
pub mod rns_transport::discovery::constants
pub mod rns_transport::discovery::constants::key
pub const rns_transport::discovery::constants::key::BANDWIDTH: u8
pub const rns_transport::discovery::constants::key::CHANNEL: u8
pub const rns_transport::discovery::constants::key::CODING_RATE: u8
pub const rns_transport::discovery::constants::key::FREQUENCY: u8
pub const rns_transport::discovery::constants::key::HEIGHT: u8
pub const rns_transport::discovery::constants::key::IFAC_NETKEY: u8
pub const rns_transport::discovery::constants::key::IFAC_NETNAME: u8
pub const rns_transport::discovery::constants::key::INTERFACE_TYPE: u8
pub const rns_transport::discovery::constants::key::LATITUDE: u8
pub const rns_transport::discovery::constants::key::LONGITUDE: u8
pub const rns_transport::discovery::constants::key::MODULATION: u8
pub const rns_transport::discovery::constants::key::NAME: u8
pub const rns_transport::discovery::constants::key::PORT: u8
pub const rns_transport::discovery::constants::key::REACHABLE_ON: u8
pub const rns_transport::discovery::constants::key::SPREADING_FACTOR: u8
pub const rns_transport::discovery::constants::key::TRANSPORT: u8
pub const rns_transport::discovery::constants::key::TRANSPORT_ID: u8
pub const rns_transport::discovery::constants::ANNOUNCE_JOB_INTERVAL_SECS: u64
pub const rns_transport::discovery::constants::APP_NAME: &str
pub const rns_transport::discovery::constants::AUTOCONNECT_INTERFACE_TYPES: &[&str]
pub const rns_transport::discovery::constants::BLACKHOLE_ASPECTS: &[&str]
pub const rns_transport::discovery::constants::BLACKHOLE_ASPECT_FILTER: &str
pub const rns_transport::discovery::constants::BLACKHOLE_INITIAL_WAIT_SECS: u64
pub const rns_transport::discovery::constants::BLACKHOLE_JOB_INTERVAL_SECS: u64
pub const rns_transport::discovery::constants::BLACKHOLE_SOURCE_TIMEOUT_SECS: u64
pub const rns_transport::discovery::constants::BLACKHOLE_UPDATE_INTERVAL_SECS: u64
pub const rns_transport::discovery::constants::DEFAULT_STAMP_VALUE: u8
pub const rns_transport::discovery::constants::DETACH_THRESHOLD_TICKS: u64
pub const rns_transport::discovery::constants::DISCOVERABLE_INTERFACE_TYPES: &[&str]
pub const rns_transport::discovery::constants::DISCOVERY_ASPECTS: &[&str]
pub const rns_transport::discovery::constants::DISCOVERY_ASPECT_FILTER: &str
pub const rns_transport::discovery::constants::FLAG_ENCRYPTED: u8
pub const rns_transport::discovery::constants::FLAG_SIGNED: u8
pub const rns_transport::discovery::constants::MONITOR_INTERVAL_SECS: u64
pub const rns_transport::discovery::constants::STAMP_SIZE: usize
pub const rns_transport::discovery::constants::THRESHOLD_REMOVE_SECS: u64
pub const rns_transport::discovery::constants::THRESHOLD_STALE_SECS: u64
pub const rns_transport::discovery::constants::THRESHOLD_UNKNOWN_SECS: u64
pub const rns_transport::discovery::constants::WORKBLOCK_EXPAND_ROUNDS: u32
pub mod rns_transport::discovery::key
pub const rns_transport::discovery::key::BANDWIDTH: u8
pub const rns_transport::discovery::key::CHANNEL: u8
pub const rns_transport::discovery::key::CODING_RATE: u8
pub const rns_transport::discovery::key::FREQUENCY: u8
pub const rns_transport::discovery::key::HEIGHT: u8
pub const rns_transport::discovery::key::IFAC_NETKEY: u8
pub const rns_transport::discovery::key::IFAC_NETNAME: u8
pub const rns_transport::discovery::key::INTERFACE_TYPE: u8
pub const rns_transport::discovery::key::LATITUDE: u8
pub const rns_transport::discovery::key::LONGITUDE: u8
pub const rns_transport::discovery::key::MODULATION: u8
pub const rns_transport::discovery::key::NAME: u8
pub const rns_transport::discovery::key::PORT: u8
pub const rns_transport::discovery::key::REACHABLE_ON: u8
pub const rns_transport::discovery::key::SPREADING_FACTOR: u8
pub const rns_transport::discovery::key::TRANSPORT: u8
pub const rns_transport::discovery::key::TRANSPORT_ID: u8
pub mod rns_transport::discovery::receiver
pub enum rns_transport::discovery::receiver::Outcome
pub rns_transport::discovery::receiver::Outcome::Accepted
pub rns_transport::discovery::receiver::Outcome::Rejected(rns_transport::discovery::receiver::Reason)
pub enum rns_transport::discovery::receiver::Reason
pub rns_transport::discovery::receiver::Reason::DecodeFailed
pub rns_transport::discovery::receiver::Reason::DecryptFailed
pub rns_transport::discovery::receiver::Reason::EncryptedWithoutKey
pub rns_transport::discovery::receiver::Reason::Malformed
pub rns_transport::discovery::receiver::Reason::MissingAppData
pub rns_transport::discovery::receiver::Reason::StampInvalid
pub rns_transport::discovery::receiver::Reason::StorageFailed
pub rns_transport::discovery::receiver::Reason::UnauthorizedSource
pub rns_transport::discovery::receiver::Reason::ValidationBusy
pub struct rns_transport::discovery::receiver::ReceiverConfig
pub rns_transport::discovery::receiver::ReceiverConfig::decryptor: core::option::Option<alloc::sync::Arc<dyn rns_transport::discovery::receiver::DiscoveryDecryptor>>
pub rns_transport::discovery::receiver::ReceiverConfig::discovery_sources: core::option::Option<alloc::vec::Vec<[u8; 16]>>
pub rns_transport::discovery::receiver::ReceiverConfig::observer: core::option::Option<tokio::sync::mpsc::bounded::Sender<rns_transport::discovery::storage::DiscoveredInterface>>
pub rns_transport::discovery::receiver::ReceiverConfig::required_value: u8
pub rns_transport::discovery::receiver::ReceiverConfig::stamper: alloc::sync::Arc<dyn rns_transport::discovery::stamper::DiscoveryStamper>
pub rns_transport::discovery::receiver::ReceiverConfig::store: alloc::sync::Arc<rns_transport::discovery::storage::DiscoveryStore>
impl rns_transport::discovery::receiver::ReceiverConfig
pub fn rns_transport::discovery::receiver::ReceiverConfig::process_event(&self, &rns_transport::messages::AnnounceHandlerEvent) -> rns_transport::discovery::receiver::Outcome
pub struct rns_transport::discovery::receiver::ReceiverMetrics
impl rns_transport::discovery::receiver::ReceiverMetrics
pub fn rns_transport::discovery::receiver::ReceiverMetrics::snapshot(&self) -> rns_transport::discovery::receiver::ReceiverMetricsSnapshot
pub struct rns_transport::discovery::receiver::ReceiverMetricsSnapshot
pub rns_transport::discovery::receiver::ReceiverMetricsSnapshot::invalid_cache_evictions: u64
pub rns_transport::discovery::receiver::ReceiverMetricsSnapshot::invalid_cache_hits: u64
pub rns_transport::discovery::receiver::ReceiverMetricsSnapshot::valid_cache_evictions: u64
pub rns_transport::discovery::receiver::ReceiverMetricsSnapshot::valid_cache_hits: u64
pub rns_transport::discovery::receiver::ReceiverMetricsSnapshot::validation_busy_drops: u64
pub trait rns_transport::discovery::receiver::DiscoveryDecryptor: core::marker::Send + core::marker::Sync
pub fn rns_transport::discovery::receiver::DiscoveryDecryptor::decrypt(&self, &[u8]) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::receiver::spawn(rns_transport::discovery::receiver::ReceiverConfig) -> (tokio::runtime::task::join::JoinHandle<()>, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::AnnounceHandlerEvent>)
pub fn rns_transport::discovery::receiver::spawn_with_metrics(rns_transport::discovery::receiver::ReceiverConfig) -> (tokio::runtime::task::join::JoinHandle<()>, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::AnnounceHandlerEvent>, alloc::sync::Arc<rns_transport::discovery::receiver::ReceiverMetrics>)
pub mod rns_transport::discovery::stamper
pub struct rns_transport::discovery::stamper::NullStamper
impl rns_transport::discovery::stamper::DiscoveryStamper for rns_transport::discovery::stamper::NullStamper
pub fn rns_transport::discovery::stamper::NullStamper::generate(&self, &[u8; 32], u8) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::stamper::NullStamper::valid(&self, &[u8; 32], &[u8], u8) -> bool
pub fn rns_transport::discovery::stamper::NullStamper::value(&self, &[u8; 32], &[u8]) -> u8
pub trait rns_transport::discovery::stamper::DiscoveryStamper: core::marker::Send + core::marker::Sync
pub fn rns_transport::discovery::stamper::DiscoveryStamper::generate(&self, &[u8; 32], u8) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::stamper::DiscoveryStamper::valid(&self, &[u8; 32], &[u8], u8) -> bool
pub fn rns_transport::discovery::stamper::DiscoveryStamper::value(&self, &[u8; 32], &[u8]) -> u8
impl rns_transport::discovery::stamper::DiscoveryStamper for rns_transport::discovery::stamper::NullStamper
pub fn rns_transport::discovery::stamper::NullStamper::generate(&self, &[u8; 32], u8) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::stamper::NullStamper::valid(&self, &[u8; 32], &[u8], u8) -> bool
pub fn rns_transport::discovery::stamper::NullStamper::value(&self, &[u8; 32], &[u8]) -> u8
pub mod rns_transport::discovery::storage
pub enum rns_transport::discovery::storage::DiscoveryStatus
pub rns_transport::discovery::storage::DiscoveryStatus::Available
pub rns_transport::discovery::storage::DiscoveryStatus::Stale
pub rns_transport::discovery::storage::DiscoveryStatus::Unknown
impl rns_transport::discovery::storage::DiscoveryStatus
pub fn rns_transport::discovery::storage::DiscoveryStatus::as_str(self) -> &'static str
pub fn rns_transport::discovery::storage::DiscoveryStatus::code(self) -> u32
pub enum rns_transport::discovery::storage::StorageError
pub rns_transport::discovery::storage::StorageError::Decode(alloc::string::String)
pub rns_transport::discovery::storage::StorageError::Encode(alloc::string::String)
pub rns_transport::discovery::storage::StorageError::Io(core::io::error::Error)
pub rns_transport::discovery::storage::StorageError::Shape
pub struct rns_transport::discovery::storage::DiscoveredInterface
pub rns_transport::discovery::storage::DiscoveredInterface::discovered: u64
pub rns_transport::discovery::storage::DiscoveredInterface::heard_count: u64
pub rns_transport::discovery::storage::DiscoveredInterface::hops: u8
pub rns_transport::discovery::storage::DiscoveredInterface::info: rns_transport::discovery::app_data::DiscoveryInfo
pub rns_transport::discovery::storage::DiscoveredInterface::last_heard: u64
pub rns_transport::discovery::storage::DiscoveredInterface::network_id: [u8; 16]
pub rns_transport::discovery::storage::DiscoveredInterface::stamp: alloc::vec::Vec<u8>
pub rns_transport::discovery::storage::DiscoveredInterface::stamp_value: u8
pub rns_transport::discovery::storage::DiscoveredInterface::status: core::option::Option<rns_transport::discovery::storage::DiscoveryStatus>
impl rns_transport::discovery::storage::DiscoveredInterface
pub fn rns_transport::discovery::storage::DiscoveredInterface::discovery_hash(&self) -> [u8; 32]
pub fn rns_transport::discovery::storage::DiscoveredInterface::filename(&self) -> alloc::string::String
pub struct rns_transport::discovery::storage::DiscoveryStore
impl rns_transport::discovery::storage::DiscoveryStore
pub fn rns_transport::discovery::storage::DiscoveryStore::list(&self, core::option::Option<&[[u8; 16]]>) -> core::result::Result<alloc::vec::Vec<rns_transport::discovery::storage::DiscoveredInterface>, rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::DiscoveryStore::open(&std::path::Path) -> core::result::Result<Self, rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::DiscoveryStore::remove(&self, &[u8; 16], &str) -> core::result::Result<bool, rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::DiscoveryStore::root(&self) -> &std::path::Path
pub fn rns_transport::discovery::storage::DiscoveryStore::upsert(&self, rns_transport::discovery::storage::DiscoveredInterface) -> core::result::Result<(), rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::classify(u64) -> rns_transport::discovery::storage::DiscoveryStatus
pub fn rns_transport::discovery::storage::discovery_hash(&[u8; 16], &str) -> [u8; 32]
pub enum rns_transport::discovery::DiscoveryStatus
pub rns_transport::discovery::DiscoveryStatus::Available
pub rns_transport::discovery::DiscoveryStatus::Stale
pub rns_transport::discovery::DiscoveryStatus::Unknown
impl rns_transport::discovery::storage::DiscoveryStatus
pub fn rns_transport::discovery::storage::DiscoveryStatus::as_str(self) -> &'static str
pub fn rns_transport::discovery::storage::DiscoveryStatus::code(self) -> u32
pub enum rns_transport::discovery::ManifestError
pub rns_transport::discovery::ManifestError::BadField(&'static str)
pub rns_transport::discovery::ManifestError::BadKey
pub rns_transport::discovery::ManifestError::Decode(alloc::string::String)
pub rns_transport::discovery::ManifestError::Encode(alloc::string::String)
pub rns_transport::discovery::ManifestError::EntryNotMap
pub rns_transport::discovery::ManifestError::MissingField(&'static str)
pub rns_transport::discovery::ManifestError::NotAMap
pub enum rns_transport::discovery::Outcome
pub rns_transport::discovery::Outcome::Accepted
pub rns_transport::discovery::Outcome::Rejected(rns_transport::discovery::receiver::Reason)
pub enum rns_transport::discovery::Reason
pub rns_transport::discovery::Reason::DecodeFailed
pub rns_transport::discovery::Reason::DecryptFailed
pub rns_transport::discovery::Reason::EncryptedWithoutKey
pub rns_transport::discovery::Reason::Malformed
pub rns_transport::discovery::Reason::MissingAppData
pub rns_transport::discovery::Reason::StampInvalid
pub rns_transport::discovery::Reason::StorageFailed
pub rns_transport::discovery::Reason::UnauthorizedSource
pub rns_transport::discovery::Reason::ValidationBusy
pub enum rns_transport::discovery::SkipReason
pub rns_transport::discovery::SkipReason::EncryptionFailed
pub rns_transport::discovery::SkipReason::EncryptorMissing
pub rns_transport::discovery::SkipReason::NotDiscoverable
pub rns_transport::discovery::SkipReason::RateLimited
pub rns_transport::discovery::SkipReason::RateLimited::remaining_secs: u64
pub rns_transport::discovery::SkipReason::StampGenerationFailed
pub rns_transport::discovery::SkipReason::TypeNotAdvertisable
pub struct rns_transport::discovery::AnnounceRequest
pub rns_transport::discovery::AnnounceRequest::app_data: alloc::vec::Vec<u8>
pub rns_transport::discovery::AnnounceRequest::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::discovery::AnnounceRequest::stamp_value: u8
pub struct rns_transport::discovery::Announcer
impl rns_transport::discovery::announcer::Announcer
pub fn rns_transport::discovery::announcer::Announcer::commit(&mut self, &rns_transport::discovery::announcer::PreparedAnnounce, f64) -> bool
pub fn rns_transport::discovery::announcer::Announcer::deregister(&mut self, rns_transport::messages::InterfaceId)
pub fn rns_transport::discovery::announcer::Announcer::is_empty(&self) -> bool
pub fn rns_transport::discovery::announcer::Announcer::len(&self) -> usize
pub fn rns_transport::discovery::announcer::Announcer::new(alloc::sync::Arc<dyn rns_transport::discovery::stamper::DiscoveryStamper>) -> Self
pub fn rns_transport::discovery::announcer::Announcer::prepare(&mut self, f64, core::option::Option<rns_transport::discovery::announcer::EncryptFn<'_>>) -> (alloc::vec::Vec<rns_transport::discovery::announcer::PreparedAnnounce>, alloc::vec::Vec<(rns_transport::messages::InterfaceId, rns_transport::discovery::announcer::SkipReason)>)
pub fn rns_transport::discovery::announcer::Announcer::register(&mut self, rns_transport::messages::InterfaceId, [u8; 16], rns_transport::discovery::announcer::DiscoveryInterfaceConfig)
pub fn rns_transport::discovery::announcer::Announcer::tick(&mut self, f64, core::option::Option<rns_transport::discovery::announcer::EncryptFn<'_>>) -> (alloc::vec::Vec<rns_transport::discovery::announcer::AnnounceRequest>, alloc::vec::Vec<(rns_transport::messages::InterfaceId, rns_transport::discovery::announcer::SkipReason)>)
pub struct rns_transport::discovery::BlackholeManifestEntry
pub rns_transport::discovery::BlackholeManifestEntry::reason: alloc::string::String
pub rns_transport::discovery::BlackholeManifestEntry::source: rns_wire::types::IdentityHash
pub rns_transport::discovery::BlackholeManifestEntry::until: core::option::Option<f64>
pub struct rns_transport::discovery::BlackholeSubscriberState
impl rns_transport::discovery::blackhole_subscriber::SubscriberState
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::due_sources(&self, &[rns_wire::types::IdentityHash], f64) -> alloc::vec::Vec<rns_wire::types::IdentityHash>
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::forget(&mut self, &rns_wire::types::IdentityHash)
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::mark_updated(&mut self, rns_wire::types::IdentityHash, f64)
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::new() -> Self
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::prune(&mut self, &[rns_wire::types::IdentityHash])
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::update_interval(&self) -> core::time::Duration
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::with_update_interval(self, core::time::Duration) -> Self
impl core::default::Default for rns_transport::discovery::blackhole_subscriber::SubscriberState
pub fn rns_transport::discovery::blackhole_subscriber::SubscriberState::default() -> Self
pub struct rns_transport::discovery::DiscoveredInterface
pub rns_transport::discovery::DiscoveredInterface::discovered: u64
pub rns_transport::discovery::DiscoveredInterface::heard_count: u64
pub rns_transport::discovery::DiscoveredInterface::hops: u8
pub rns_transport::discovery::DiscoveredInterface::info: rns_transport::discovery::app_data::DiscoveryInfo
pub rns_transport::discovery::DiscoveredInterface::last_heard: u64
pub rns_transport::discovery::DiscoveredInterface::network_id: [u8; 16]
pub rns_transport::discovery::DiscoveredInterface::stamp: alloc::vec::Vec<u8>
pub rns_transport::discovery::DiscoveredInterface::stamp_value: u8
pub rns_transport::discovery::DiscoveredInterface::status: core::option::Option<rns_transport::discovery::storage::DiscoveryStatus>
impl rns_transport::discovery::storage::DiscoveredInterface
pub fn rns_transport::discovery::storage::DiscoveredInterface::discovery_hash(&self) -> [u8; 32]
pub fn rns_transport::discovery::storage::DiscoveredInterface::filename(&self) -> alloc::string::String
pub struct rns_transport::discovery::DiscoveryInterfaceConfig
pub rns_transport::discovery::DiscoveryInterfaceConfig::announce_interval_secs: u64
pub rns_transport::discovery::DiscoveryInterfaceConfig::bandwidth: core::option::Option<u64>
pub rns_transport::discovery::DiscoveryInterfaceConfig::channel: core::option::Option<u16>
pub rns_transport::discovery::DiscoveryInterfaceConfig::coding_rate: core::option::Option<u8>
pub rns_transport::discovery::DiscoveryInterfaceConfig::discoverable: bool
pub rns_transport::discovery::DiscoveryInterfaceConfig::encrypt: bool
pub rns_transport::discovery::DiscoveryInterfaceConfig::frequency: core::option::Option<u64>
pub rns_transport::discovery::DiscoveryInterfaceConfig::height: core::option::Option<f64>
pub rns_transport::discovery::DiscoveryInterfaceConfig::ifac_netkey: core::option::Option<alloc::string::String>
pub rns_transport::discovery::DiscoveryInterfaceConfig::ifac_netname: core::option::Option<alloc::string::String>
pub rns_transport::discovery::DiscoveryInterfaceConfig::interface_type: alloc::string::String
pub rns_transport::discovery::DiscoveryInterfaceConfig::latitude: core::option::Option<f64>
pub rns_transport::discovery::DiscoveryInterfaceConfig::longitude: core::option::Option<f64>
pub rns_transport::discovery::DiscoveryInterfaceConfig::modulation: core::option::Option<alloc::string::String>
pub rns_transport::discovery::DiscoveryInterfaceConfig::name: alloc::string::String
pub rns_transport::discovery::DiscoveryInterfaceConfig::port: core::option::Option<u16>
pub rns_transport::discovery::DiscoveryInterfaceConfig::reachable_on: core::option::Option<alloc::string::String>
pub rns_transport::discovery::DiscoveryInterfaceConfig::signed: bool
pub rns_transport::discovery::DiscoveryInterfaceConfig::spreading_factor: core::option::Option<u8>
pub rns_transport::discovery::DiscoveryInterfaceConfig::stamp_value: u8
pub rns_transport::discovery::DiscoveryInterfaceConfig::transport_enabled: bool
impl rns_transport::discovery::announcer::DiscoveryInterfaceConfig
pub fn rns_transport::discovery::announcer::DiscoveryInterfaceConfig::backbone(alloc::string::String, alloc::string::String, u16) -> Self
pub fn rns_transport::discovery::announcer::DiscoveryInterfaceConfig::is_advertisable(&self) -> bool
pub struct rns_transport::discovery::DiscoveryStore
impl rns_transport::discovery::storage::DiscoveryStore
pub fn rns_transport::discovery::storage::DiscoveryStore::list(&self, core::option::Option<&[[u8; 16]]>) -> core::result::Result<alloc::vec::Vec<rns_transport::discovery::storage::DiscoveredInterface>, rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::DiscoveryStore::open(&std::path::Path) -> core::result::Result<Self, rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::DiscoveryStore::remove(&self, &[u8; 16], &str) -> core::result::Result<bool, rns_transport::discovery::storage::StorageError>
pub fn rns_transport::discovery::storage::DiscoveryStore::root(&self) -> &std::path::Path
pub fn rns_transport::discovery::storage::DiscoveryStore::upsert(&self, rns_transport::discovery::storage::DiscoveredInterface) -> core::result::Result<(), rns_transport::discovery::storage::StorageError>
pub struct rns_transport::discovery::NullStamper
impl rns_transport::discovery::stamper::DiscoveryStamper for rns_transport::discovery::stamper::NullStamper
pub fn rns_transport::discovery::stamper::NullStamper::generate(&self, &[u8; 32], u8) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::stamper::NullStamper::valid(&self, &[u8; 32], &[u8], u8) -> bool
pub fn rns_transport::discovery::stamper::NullStamper::value(&self, &[u8; 32], &[u8]) -> u8
pub struct rns_transport::discovery::ReceiverConfig
pub rns_transport::discovery::ReceiverConfig::decryptor: core::option::Option<alloc::sync::Arc<dyn rns_transport::discovery::receiver::DiscoveryDecryptor>>
pub rns_transport::discovery::ReceiverConfig::discovery_sources: core::option::Option<alloc::vec::Vec<[u8; 16]>>
pub rns_transport::discovery::ReceiverConfig::observer: core::option::Option<tokio::sync::mpsc::bounded::Sender<rns_transport::discovery::storage::DiscoveredInterface>>
pub rns_transport::discovery::ReceiverConfig::required_value: u8
pub rns_transport::discovery::ReceiverConfig::stamper: alloc::sync::Arc<dyn rns_transport::discovery::stamper::DiscoveryStamper>
pub rns_transport::discovery::ReceiverConfig::store: alloc::sync::Arc<rns_transport::discovery::storage::DiscoveryStore>
impl rns_transport::discovery::receiver::ReceiverConfig
pub fn rns_transport::discovery::receiver::ReceiverConfig::process_event(&self, &rns_transport::messages::AnnounceHandlerEvent) -> rns_transport::discovery::receiver::Outcome
pub const rns_transport::discovery::ANNOUNCE_JOB_INTERVAL_SECS: u64
pub const rns_transport::discovery::APP_NAME: &str
pub const rns_transport::discovery::AUTOCONNECT_INTERFACE_TYPES: &[&str]
pub const rns_transport::discovery::BLACKHOLE_ASPECTS: &[&str]
pub const rns_transport::discovery::BLACKHOLE_ASPECT_FILTER: &str
pub const rns_transport::discovery::BLACKHOLE_INITIAL_WAIT: core::time::Duration
pub const rns_transport::discovery::BLACKHOLE_INITIAL_WAIT_SECS: u64
pub const rns_transport::discovery::BLACKHOLE_JOB_INTERVAL: core::time::Duration
pub const rns_transport::discovery::BLACKHOLE_JOB_INTERVAL_SECS: u64
pub const rns_transport::discovery::BLACKHOLE_SOURCE_TIMEOUT: core::time::Duration
pub const rns_transport::discovery::BLACKHOLE_SOURCE_TIMEOUT_SECS: u64
pub const rns_transport::discovery::BLACKHOLE_UPDATE_INTERVAL: core::time::Duration
pub const rns_transport::discovery::BLACKHOLE_UPDATE_INTERVAL_SECS: u64
pub const rns_transport::discovery::DEFAULT_STAMP_VALUE: u8
pub const rns_transport::discovery::DETACH_THRESHOLD_TICKS: u64
pub const rns_transport::discovery::DISCOVERABLE_INTERFACE_TYPES: &[&str]
pub const rns_transport::discovery::DISCOVERY_ASPECTS: &[&str]
pub const rns_transport::discovery::DISCOVERY_ASPECT_FILTER: &str
pub const rns_transport::discovery::FLAG_ENCRYPTED: u8
pub const rns_transport::discovery::FLAG_SIGNED: u8
pub const rns_transport::discovery::MONITOR_INTERVAL_SECS: u64
pub const rns_transport::discovery::STAMP_SIZE: usize
pub const rns_transport::discovery::THRESHOLD_REMOVE_SECS: u64
pub const rns_transport::discovery::THRESHOLD_STALE_SECS: u64
pub const rns_transport::discovery::THRESHOLD_UNKNOWN_SECS: u64
pub const rns_transport::discovery::WORKBLOCK_EXPAND_ROUNDS: u32
pub trait rns_transport::discovery::DiscoveryDecryptor: core::marker::Send + core::marker::Sync
pub fn rns_transport::discovery::DiscoveryDecryptor::decrypt(&self, &[u8]) -> core::option::Option<alloc::vec::Vec<u8>>
pub trait rns_transport::discovery::DiscoveryStamper: core::marker::Send + core::marker::Sync
pub fn rns_transport::discovery::DiscoveryStamper::generate(&self, &[u8; 32], u8) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::DiscoveryStamper::valid(&self, &[u8; 32], &[u8], u8) -> bool
pub fn rns_transport::discovery::DiscoveryStamper::value(&self, &[u8; 32], &[u8]) -> u8
impl rns_transport::discovery::stamper::DiscoveryStamper for rns_transport::discovery::stamper::NullStamper
pub fn rns_transport::discovery::stamper::NullStamper::generate(&self, &[u8; 32], u8) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::discovery::stamper::NullStamper::valid(&self, &[u8; 32], &[u8], u8) -> bool
pub fn rns_transport::discovery::stamper::NullStamper::value(&self, &[u8; 32], &[u8]) -> u8
pub fn rns_transport::discovery::apply_manifest(&mut rns_transport::blackhole::BlackholeTable, &[([u8; 16], rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry)], f64) -> usize
pub fn rns_transport::discovery::build_local_manifest(&rns_transport::blackhole::BlackholeTable, rns_wire::types::IdentityHash, core::option::Option<&std::collections::hash::set::HashSet<[u8; 16]>>) -> core::result::Result<alloc::vec::Vec<u8>, rns_transport::discovery::blackhole_manifest::ManifestError>
pub fn rns_transport::discovery::decode_manifest(&[u8]) -> core::result::Result<alloc::vec::Vec<([u8; 16], rns_transport::discovery::blackhole_manifest::BlackholeManifestEntry)>, rns_transport::discovery::blackhole_manifest::ManifestError>
pub fn rns_transport::discovery::discovery_hash(&[u8; 16], &str) -> [u8; 32]
pub mod rns_transport::hashlist
pub struct rns_transport::hashlist::PacketHashlist
impl rns_transport::hashlist::PacketHashlist
pub fn rns_transport::hashlist::PacketHashlist::all_hashes(&self) -> alloc::vec::Vec<[u8; 32]>
pub fn rns_transport::hashlist::PacketHashlist::clear(&mut self)
pub fn rns_transport::hashlist::PacketHashlist::contains(&self, &[u8; 32]) -> bool
pub fn rns_transport::hashlist::PacketHashlist::current_hashes(&self) -> alloc::vec::Vec<[u8; 32]>
pub fn rns_transport::hashlist::PacketHashlist::force_rotate(&mut self)
pub fn rns_transport::hashlist::PacketHashlist::insert(&mut self, [u8; 32]) -> bool
pub fn rns_transport::hashlist::PacketHashlist::is_empty(&self) -> bool
pub fn rns_transport::hashlist::PacketHashlist::len(&self) -> usize
pub fn rns_transport::hashlist::PacketHashlist::load_from(&mut self, alloc::vec::Vec<[u8; 32]>)
pub fn rns_transport::hashlist::PacketHashlist::new() -> Self
pub fn rns_transport::hashlist::PacketHashlist::new_with_capacity(usize) -> Self
impl core::default::Default for rns_transport::hashlist::PacketHashlist
pub fn rns_transport::hashlist::PacketHashlist::default() -> Self
pub mod rns_transport::ifac
pub enum rns_transport::ifac::IfacSignError
pub rns_transport::ifac::IfacSignError::InvalidTagSize
pub rns_transport::ifac::IfacSignError::PacketTooLarge
pub rns_transport::ifac::IfacSignError::ShortPacket
pub const rns_transport::ifac::MAX_IFAC_WIRE_BYTES: usize
pub fn rns_transport::ifac::has_ifac_flag(&[u8]) -> bool
pub fn rns_transport::ifac::ifac_sign(&[u8], &[u8; 64], usize) -> alloc::vec::Vec<u8>
pub fn rns_transport::ifac::ifac_verify(&[u8], &[u8; 64], usize) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::ifac::try_ifac_sign(&[u8], &[u8; 64], usize) -> core::result::Result<alloc::vec::Vec<u8>, rns_transport::ifac::IfacSignError>
pub mod rns_transport::ingress
pub struct rns_transport::ingress::HeldAnnounce
pub rns_transport::ingress::HeldAnnounce::destination_hash: [u8; 16]
pub rns_transport::ingress::HeldAnnounce::hops: u8
pub rns_transport::ingress::HeldAnnounce::raw: bytes::bytes::Bytes
pub rns_transport::ingress::HeldAnnounce::receiving_interface_id: u64
pub struct rns_transport::ingress::IngressController
impl rns_transport::ingress::IngressController
pub fn rns_transport::ingress::IngressController::age(&self) -> f64
pub fn rns_transport::ingress::IngressController::burst_activated(&self) -> std::time::Instant
pub fn rns_transport::ingress::IngressController::burst_freq(&self) -> f64
pub fn rns_transport::ingress::IngressController::burst_freq_new(&self) -> f64
pub fn rns_transport::ingress::IngressController::disabled() -> Self
pub fn rns_transport::ingress::IngressController::ec_pr_freq(&self) -> f64
pub fn rns_transport::ingress::IngressController::held_count(&self) -> usize
pub fn rns_transport::ingress::IngressController::held_release_at(&self) -> std::time::Instant
pub fn rns_transport::ingress::IngressController::held_release_interval(&self) -> f64
pub fn rns_transport::ingress::IngressController::hold_announce(&mut self, rns_transport::ingress::HeldAnnounce)
pub fn rns_transport::ingress::IngressController::incoming_announce_frequency(&self) -> f64
pub fn rns_transport::ingress::IngressController::incoming_pr_frequency(&self) -> f64
pub fn rns_transport::ingress::IngressController::is_burst_active(&self) -> bool
pub fn rns_transport::ingress::IngressController::is_egress_control_enabled(&self) -> bool
pub fn rns_transport::ingress::IngressController::is_enabled(&self) -> bool
pub fn rns_transport::ingress::IngressController::is_pr_burst_active(&self) -> bool
pub fn rns_transport::ingress::IngressController::new() -> Self
pub fn rns_transport::ingress::IngressController::outgoing_announce_frequency(&self) -> f64
pub fn rns_transport::ingress::IngressController::outgoing_pr_frequency(&self) -> f64
pub fn rns_transport::ingress::IngressController::pr_burst_activated(&self) -> std::time::Instant
pub fn rns_transport::ingress::IngressController::pr_burst_freq(&self) -> f64
pub fn rns_transport::ingress::IngressController::pr_burst_freq_new(&self) -> f64
pub fn rns_transport::ingress::IngressController::received_announce(&mut self)
pub fn rns_transport::ingress::IngressController::received_path_request(&mut self)
pub fn rns_transport::ingress::IngressController::sent_announce(&mut self)
pub fn rns_transport::ingress::IngressController::sent_path_request(&mut self)
pub fn rns_transport::ingress::IngressController::should_egress_limit_pr(&mut self) -> bool
pub fn rns_transport::ingress::IngressController::should_ingress_limit(&mut self) -> bool
pub fn rns_transport::ingress::IngressController::should_ingress_limit_pr(&mut self) -> bool
pub fn rns_transport::ingress::IngressController::try_release_held(&mut self) -> core::option::Option<rns_transport::ingress::HeldAnnounce>
pub fn rns_transport::ingress::IngressController::try_with_overrides(&rns_transport::ingress::IngressOverrides) -> core::result::Result<Self, rns_transport::ingress::IngressOverrideError>
pub fn rns_transport::ingress::IngressController::with_overrides(&rns_transport::ingress::IngressOverrides) -> Self
impl core::default::Default for rns_transport::ingress::IngressController
pub fn rns_transport::ingress::IngressController::default() -> Self
pub struct rns_transport::ingress::IngressOverrideError
pub rns_transport::ingress::IngressOverrideError::field: &'static str
pub struct rns_transport::ingress::IngressOverrides
pub rns_transport::ingress::IngressOverrides::burst_freq: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::burst_freq_new: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::burst_hold: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::burst_penalty: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::ec_pr_freq: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::egress_control: core::option::Option<bool>
pub rns_transport::ingress::IngressOverrides::enabled: core::option::Option<bool>
pub rns_transport::ingress::IngressOverrides::held_release_interval: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::max_held: core::option::Option<usize>
pub rns_transport::ingress::IngressOverrides::new_time: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::pr_burst_freq: core::option::Option<f64>
pub rns_transport::ingress::IngressOverrides::pr_burst_freq_new: core::option::Option<f64>
impl rns_transport::ingress::IngressOverrides
pub fn rns_transport::ingress::IngressOverrides::is_empty(&self) -> bool
pub fn rns_transport::ingress::IngressOverrides::validate(&self) -> core::result::Result<(), rns_transport::ingress::IngressOverrideError>
pub mod rns_transport::interface_ownership
pub enum rns_transport::interface_ownership::InterfaceCapacityError
pub rns_transport::interface_ownership::InterfaceCapacityError::Empty
pub rns_transport::interface_ownership::InterfaceCapacityError::IfacExceedsWire
pub rns_transport::interface_ownership::InterfaceCapacityError::IfacExceedsWire::ifac_bytes: usize
pub rns_transport::interface_ownership::InterfaceCapacityError::IfacExceedsWire::wire_bytes: u32
pub rns_transport::interface_ownership::InterfaceCapacityError::InvalidIfac
pub rns_transport::interface_ownership::InterfaceCapacityError::LinkCapacityUnavailable
pub rns_transport::interface_ownership::InterfaceCapacityError::LinkCapacityUnavailable::clear_mtu: u32
pub rns_transport::interface_ownership::InterfaceCapacityError::LinkCapacityUnavailable::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::interface_ownership::InterfaceCapacityError::LinkCapacityUnavailable::required: u32
pub struct rns_transport::interface_ownership::InterfaceOwner
impl rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::epoch(&self) -> u64
pub fn rns_transport::interface_ownership::InterfaceOwner::id(&self) -> rns_transport::interface_ownership::InterfaceOwnerId
pub fn rns_transport::interface_ownership::InterfaceOwner::is_current(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::is_registered(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::mark_registered(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::new() -> Self
pub fn rns_transport::interface_ownership::InterfaceOwner::next_revision(&self) -> core::option::Option<Self>
pub fn rns_transport::interface_ownership::InterfaceOwner::revision(&self) -> u64
impl core::cmp::Eq for rns_transport::interface_ownership::InterfaceOwner
impl core::cmp::PartialEq for rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::eq(&self, &Self) -> bool
impl core::default::Default for rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::default() -> Self
pub struct rns_transport::interface_ownership::InterfaceOwnerId
impl rns_transport::interface_ownership::InterfaceOwnerId
pub fn rns_transport::interface_ownership::InterfaceOwnerId::matches(self, &rns_transport::interface_ownership::InterfaceOwner) -> bool
pub struct rns_transport::interface_ownership::InterfacePacketCapacity
pub rns_transport::interface_ownership::InterfacePacketCapacity::link_mtu_upgrade: bool
pub rns_transport::interface_ownership::InterfacePacketCapacity::max_clear_packet_bytes: u32
pub rns_transport::interface_ownership::InterfacePacketCapacity::max_wire_packet_bytes: u32
impl rns_transport::interface_ownership::InterfacePacketCapacity
pub const fn rns_transport::interface_ownership::InterfacePacketCapacity::base(u32) -> Self
pub fn rns_transport::interface_ownership::InterfacePacketCapacity::effective_clear_mtu(self, usize) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub fn rns_transport::interface_ownership::InterfacePacketCapacity::link_ceiling(self, rns_transport::messages::InterfaceId, usize) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub const fn rns_transport::interface_ownership::InterfacePacketCapacity::new(u32, u32, bool) -> Self
pub struct rns_transport::interface_ownership::InterfaceTransportSender
impl rns_transport::interface_ownership::InterfaceTransportSender
pub fn rns_transport::interface_ownership::InterfaceTransportSender::actor_sender(&self) -> tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>
pub fn rns_transport::interface_ownership::InterfaceTransportSender::bind(rns_transport::messages::InterfaceId, rns_transport::interface_ownership::InterfaceOwner, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>) -> Self
pub fn rns_transport::interface_ownership::InterfaceTransportSender::capacity(&self) -> usize
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::closed(&self)
pub fn rns_transport::interface_ownership::InterfaceTransportSender::event(&self, rns_transport::messages::TransportMessage) -> rns_transport::messages::TransportMessage
pub fn rns_transport::interface_ownership::InterfaceTransportSender::interface_id(&self) -> rns_transport::messages::InterfaceId
pub fn rns_transport::interface_ownership::InterfaceTransportSender::is_closed(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceTransportSender::max_capacity(&self) -> usize
pub fn rns_transport::interface_ownership::InterfaceTransportSender::new(rns_transport::messages::InterfaceId, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>) -> Self
pub fn rns_transport::interface_ownership::InterfaceTransportSender::owner(&self) -> rns_transport::interface_ownership::InterfaceOwner
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::ready(&self) -> bool
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::send(&self, rns_transport::messages::TransportMessage) -> core::result::Result<(), tokio::sync::mpsc::error::SendError<rns_transport::messages::TransportMessage>>
pub fn rns_transport::interface_ownership::InterfaceTransportSender::try_send(&self, rns_transport::messages::TransportMessage) -> core::result::Result<(), tokio::sync::mpsc::error::TrySendError<rns_transport::messages::TransportMessage>>
pub mod rns_transport::link_endpoint_dispatch
#[non_exhaustive] pub enum rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError::Closed
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError::Full
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError::InvalidDeadline
impl core::error::Error for rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError
impl core::fmt::Display for rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
#[non_exhaustive] pub enum rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome::Cancelled
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome::Expired
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome::Rejected(rns_transport::messages::LinkEndpointSendResult)
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome::Sent
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome::Sent::dispatched_at: std::time::Instant
pub rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome::Sent::packet_hash: [u8; 32]
pub struct rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt
impl rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt::poll_ready(&mut self, &mut core::task::wake::Context<'_>) -> core::task::poll::Poll<()>
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt::try_recv(&mut self) -> core::result::Result<core::result::Result<rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken, rns_transport::messages::LinkEndpointBindResult>, tokio::sync::oneshot::error::TryRecvError>
impl core::future::future::Future for rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt
pub type rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt::Output = core::result::Result<core::result::Result<rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken, rns_transport::messages::LinkEndpointBindResult>, tokio::sync::oneshot::error::RecvError>
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt::poll(core::pin::Pin<&mut Self>, &mut core::task::wake::Context<'_>) -> core::task::poll::Poll<Self::Output>
impl core::ops::drop::Drop for rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt::drop(&mut self)
pub struct rns_transport::link_endpoint_dispatch::LinkEndpointDispatchCancellation
impl rns_transport::link_endpoint_dispatch::LinkEndpointDispatchCancellation
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchCancellation::cancel(&self)
pub struct rns_transport::link_endpoint_dispatch::LinkEndpointDispatchHandle
impl rns_transport::link_endpoint_dispatch::LinkEndpointDispatchHandle
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchHandle::try_bind(&self, rns_transport::messages::LinkEndpointBinding, tokio::sync::mpsc::unbounded::UnboundedSender<rns_transport::messages::LinkEndpointLifecycleEvent>) -> core::result::Result<rns_transport::link_endpoint_dispatch::LinkEndpointDispatchBindReceipt, rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError>
pub struct rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken
impl rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken::binding(&self) -> rns_transport::messages::LinkEndpointBinding
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken::try_send(&self, rns_transport::messages::OutboundRequest, std::time::Instant) -> core::result::Result<tokio::sync::oneshot::Receiver<rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome>, rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError>
pub fn rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken::try_send_cancellable(&self, rns_transport::messages::OutboundRequest, std::time::Instant) -> core::result::Result<(tokio::sync::oneshot::Receiver<rns_transport::link_endpoint_dispatch::LinkEndpointDispatchOutcome>, rns_transport::link_endpoint_dispatch::LinkEndpointDispatchCancellation), rns_transport::link_endpoint_dispatch::LinkEndpointDispatchError>
pub const rns_transport::link_endpoint_dispatch::LINK_ENDPOINT_ADMISSION_TIMEOUT_MAX: core::time::Duration
pub mod rns_transport::link_messages
pub enum rns_transport::link_messages::DestinationEvent
pub rns_transport::link_messages::DestinationEvent::AnnounceRequested(rns_transport::link_messages::AnnounceRequest)
pub rns_transport::link_messages::DestinationEvent::DeliveryProof
pub rns_transport::link_messages::DestinationEvent::DeliveryProof::msg_id: alloc::string::String
pub rns_transport::link_messages::DestinationEvent::DeliveryProof::rtt: core::option::Option<core::time::Duration>
pub rns_transport::link_messages::DestinationEvent::InboundPacket
pub rns_transport::link_messages::DestinationEvent::InboundPacket::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::link_messages::DestinationEvent::InboundPacket::interface_owner: core::option::Option<rns_transport::interface_ownership::InterfaceOwnerId>
pub rns_transport::link_messages::DestinationEvent::InboundPacket::metrics: rns_transport::link_messages::PacketMetrics
pub rns_transport::link_messages::DestinationEvent::InboundPacket::raw: bytes::bytes::Bytes
pub rns_transport::link_messages::DestinationEvent::LinkClosed
pub rns_transport::link_messages::DestinationEvent::LinkClosed::link_id: [u8; 16]
pub rns_transport::link_messages::DestinationEvent::LinkEstablished
pub rns_transport::link_messages::DestinationEvent::LinkEstablished::link_id: [u8; 16]
pub rns_transport::link_messages::DestinationEvent::LinkRequest
pub rns_transport::link_messages::DestinationEvent::LinkRequest::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::link_messages::DestinationEvent::LinkRequest::interface_owner: core::option::Option<rns_transport::interface_ownership::InterfaceOwnerId>
pub rns_transport::link_messages::DestinationEvent::LinkRequest::metrics: rns_transport::link_messages::PacketMetrics
pub rns_transport::link_messages::DestinationEvent::LinkRequest::raw: bytes::bytes::Bytes
pub enum rns_transport::link_messages::LinkRequestDispatchError
pub rns_transport::link_messages::LinkRequestDispatchError::Capacity(rns_transport::interface_ownership::InterfaceCapacityError)
pub rns_transport::link_messages::LinkRequestDispatchError::InvalidRequest
pub rns_transport::link_messages::LinkRequestDispatchError::NoInterface
pub rns_transport::link_messages::LinkRequestDispatchError::TransportUnavailable
pub struct rns_transport::link_messages::AnnounceRequest
pub rns_transport::link_messages::AnnounceRequest::app_name: alloc::string::String
pub rns_transport::link_messages::AnnounceRequest::attached_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::link_messages::AnnounceRequest::path_response: bool
pub rns_transport::link_messages::AnnounceRequest::tag: core::option::Option<alloc::vec::Vec<u8>>
impl rns_transport::link_messages::AnnounceRequest
pub fn rns_transport::link_messages::AnnounceRequest::normal(alloc::string::String) -> Self
pub struct rns_transport::link_messages::EstablishLinkRequest
pub rns_transport::link_messages::EstablishLinkRequest::dest_hash: [u8; 16]
pub rns_transport::link_messages::EstablishLinkRequest::result_tx: tokio::sync::oneshot::Sender<core::result::Result<[u8; 16], alloc::string::String>>
pub struct rns_transport::link_messages::LinkDataRequest
pub rns_transport::link_messages::LinkDataRequest::data: alloc::vec::Vec<u8>
pub rns_transport::link_messages::LinkDataRequest::link_id: [u8; 16]
pub struct rns_transport::link_messages::PacketMetrics
pub rns_transport::link_messages::PacketMetrics::q: core::option::Option<f32>
pub rns_transport::link_messages::PacketMetrics::rssi: core::option::Option<f32>
pub rns_transport::link_messages::PacketMetrics::snr: core::option::Option<f32>
pub async fn rns_transport::link_messages::dispatch_link_request(&tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>, rns_transport::messages::OutboundRequest) -> core::result::Result<(), rns_transport::link_messages::LinkRequestDispatchError>
pub mod rns_transport::link_table
pub struct rns_transport::link_table::ExpiredLink
pub rns_transport::link_table::ExpiredLink::destination_hash: [u8; 16]
pub rns_transport::link_table::ExpiredLink::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::link_table::ExpiredLink::next_hop: core::option::Option<[u8; 16]>
pub rns_transport::link_table::ExpiredLink::receiving_interface: rns_transport::messages::InterfaceId
pub rns_transport::link_table::ExpiredLink::remaining_hops: u8
pub rns_transport::link_table::ExpiredLink::taken_hops: u8
impl core::convert::From<&rns_transport::link_table::LinkEntry> for rns_transport::link_table::ExpiredLink
pub fn rns_transport::link_table::ExpiredLink::from(&rns_transport::link_table::LinkEntry) -> Self
pub struct rns_transport::link_table::LinkEntry
pub rns_transport::link_table::LinkEntry::accepted_mtu_ceiling: u32
pub rns_transport::link_table::LinkEntry::destination_hash: [u8; 16]
pub rns_transport::link_table::LinkEntry::established: bool
pub rns_transport::link_table::LinkEntry::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::link_table::LinkEntry::interface_owner: core::option::Option<rns_transport::interface_ownership::InterfaceOwner>
pub rns_transport::link_table::LinkEntry::next_hop: core::option::Option<[u8; 16]>
pub rns_transport::link_table::LinkEntry::proof_timeout: f64
pub rns_transport::link_table::LinkEntry::receiving_interface: rns_transport::messages::InterfaceId
pub rns_transport::link_table::LinkEntry::receiving_owner: core::option::Option<rns_transport::interface_ownership::InterfaceOwner>
pub rns_transport::link_table::LinkEntry::remaining_hops: u8
pub rns_transport::link_table::LinkEntry::requested_mode: u8
pub rns_transport::link_table::LinkEntry::taken_hops: u8
pub rns_transport::link_table::LinkEntry::timestamp: f64
pub rns_transport::link_table::LinkEntry::validated: bool
impl core::convert::From<&rns_transport::link_table::LinkEntry> for rns_transport::link_table::ExpiredLink
pub fn rns_transport::link_table::ExpiredLink::from(&rns_transport::link_table::LinkEntry) -> Self
pub struct rns_transport::link_table::LinkTable
impl rns_transport::link_table::LinkTable
pub fn rns_transport::link_table::LinkTable::contains(&self, &[u8; 16]) -> bool
pub fn rns_transport::link_table::LinkTable::cull_dead_interfaces(&mut self, &std::collections::hash::set::HashSet<rns_transport::messages::InterfaceId>) -> usize
pub fn rns_transport::link_table::LinkTable::cull_stale(&mut self, f64) -> (usize, alloc::vec::Vec<rns_transport::link_table::ExpiredLink>)
pub fn rns_transport::link_table::LinkTable::get(&self, &[u8; 16]) -> core::option::Option<&rns_transport::link_table::LinkEntry>
pub fn rns_transport::link_table::LinkTable::get_mut(&mut self, &[u8; 16]) -> core::option::Option<&mut rns_transport::link_table::LinkEntry>
pub fn rns_transport::link_table::LinkTable::insert(&mut self, impl core::convert::Into<rns_wire::types::LinkId>, rns_transport::link_table::LinkEntry)
pub fn rns_transport::link_table::LinkTable::is_empty(&self) -> bool
pub fn rns_transport::link_table::LinkTable::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&rns_wire::types::LinkId, &rns_transport::link_table::LinkEntry)>
pub fn rns_transport::link_table::LinkTable::len(&self) -> usize
pub fn rns_transport::link_table::LinkTable::new() -> Self
pub fn rns_transport::link_table::LinkTable::remove(&mut self, &[u8; 16]) -> core::option::Option<rns_transport::link_table::LinkEntry>
pub fn rns_transport::link_table::LinkTable::remove_interface(&mut self, rns_transport::messages::InterfaceId)
impl core::default::Default for rns_transport::link_table::LinkTable
pub fn rns_transport::link_table::LinkTable::default() -> Self
pub mod rns_transport::link_transit
pub enum rns_transport::link_transit::LinkTransitError
pub rns_transport::link_transit::LinkTransitError::Capacity(rns_transport::interface_ownership::InterfaceCapacityError)
pub rns_transport::link_transit::LinkTransitError::InvalidSignalling(rns_wire::link_signalling::LinkSignallingError)
pub rns_transport::link_transit::LinkTransitError::StaleInterface
pub rns_transport::link_transit::LinkTransitError::UnsupportedTransitModeTransform
pub mod rns_transport::messages
pub enum rns_transport::messages::InterfaceCapacityError
pub rns_transport::messages::InterfaceCapacityError::Empty
pub rns_transport::messages::InterfaceCapacityError::IfacExceedsWire
pub rns_transport::messages::InterfaceCapacityError::IfacExceedsWire::ifac_bytes: usize
pub rns_transport::messages::InterfaceCapacityError::IfacExceedsWire::wire_bytes: u32
pub rns_transport::messages::InterfaceCapacityError::InvalidIfac
pub rns_transport::messages::InterfaceCapacityError::LinkCapacityUnavailable
pub rns_transport::messages::InterfaceCapacityError::LinkCapacityUnavailable::clear_mtu: u32
pub rns_transport::messages::InterfaceCapacityError::LinkCapacityUnavailable::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::InterfaceCapacityError::LinkCapacityUnavailable::required: u32
pub enum rns_transport::messages::InterfaceRole
pub rns_transport::messages::InterfaceRole::LocalClient
pub rns_transport::messages::InterfaceRole::Normal
pub rns_transport::messages::InterfaceRole::SharedInstancePeer
pub rns_transport::messages::InterfaceRole::SharedServer
impl rns_transport::messages::InterfaceRole
pub fn rns_transport::messages::InterfaceRole::as_str(self) -> &'static str
pub enum rns_transport::messages::LinkEndpointBindResult
pub rns_transport::messages::LinkEndpointBindResult::AlreadyBound
pub rns_transport::messages::LinkEndpointBindResult::Bound
pub rns_transport::messages::LinkEndpointBindResult::Conflict
pub rns_transport::messages::LinkEndpointBindResult::Conflict::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::LinkEndpointBindResult::Conflict::role: rns_transport::messages::LinkEndpointRole
pub rns_transport::messages::LinkEndpointBindResult::InterfaceUnavailable
pub enum rns_transport::messages::LinkEndpointRole
pub rns_transport::messages::LinkEndpointRole::Initiator
pub rns_transport::messages::LinkEndpointRole::Responder
pub enum rns_transport::messages::LinkEndpointSendResult
pub rns_transport::messages::LinkEndpointSendResult::DroppedBackpressure
pub rns_transport::messages::LinkEndpointSendResult::InvalidPacket
pub rns_transport::messages::LinkEndpointSendResult::NotBound
pub rns_transport::messages::LinkEndpointSendResult::Queued
pub rns_transport::messages::LinkEndpointSendResult::Queued::depth: usize
pub rns_transport::messages::LinkEndpointSendResult::RoleMismatch
pub rns_transport::messages::LinkEndpointSendResult::Sent
pub rns_transport::messages::LinkEndpointSendResult::Terminated(rns_transport::messages::LinkEndpointTerminalReason)
pub enum rns_transport::messages::LinkEndpointTerminalReason
pub rns_transport::messages::LinkEndpointTerminalReason::EgressQueueExhausted
pub rns_transport::messages::LinkEndpointTerminalReason::InterfaceClosed
pub rns_transport::messages::LinkEndpointTerminalReason::InterfaceNotOutbound
pub rns_transport::messages::LinkEndpointTerminalReason::InterfaceOffline
pub rns_transport::messages::LinkEndpointTerminalReason::InterfaceRemoved
pub rns_transport::messages::LinkEndpointTerminalReason::TransportShutdown
pub rns_transport::messages::LinkEndpointTerminalReason::Unbound
pub enum rns_transport::messages::LinkEndpointUnbindResult
pub rns_transport::messages::LinkEndpointUnbindResult::NotBound
pub rns_transport::messages::LinkEndpointUnbindResult::RoleMismatch
pub rns_transport::messages::LinkEndpointUnbindResult::Unbound
pub enum rns_transport::messages::OutboundDispatchResult
pub rns_transport::messages::OutboundDispatchResult::NoInterface
pub rns_transport::messages::OutboundDispatchResult::ReceiptCollision
pub rns_transport::messages::OutboundDispatchResult::Sent
pub enum rns_transport::messages::ReceiptUpdate
pub rns_transport::messages::ReceiptUpdate::Culled
pub rns_transport::messages::ReceiptUpdate::Delivered
pub rns_transport::messages::ReceiptUpdate::Delivered::rtt: core::time::Duration
pub rns_transport::messages::ReceiptUpdate::Failed
pub rns_transport::messages::ReceiptUpdate::Sent
pub rns_transport::messages::ReceiptUpdate::TimedOut
pub enum rns_transport::messages::TransportMessage
pub rns_transport::messages::TransportMessage::ActivateLink
pub rns_transport::messages::TransportMessage::ActivateLink::link_id: [u8; 16]
pub rns_transport::messages::TransportMessage::AwaitPath
pub rns_transport::messages::TransportMessage::AwaitPath::dest: [u8; 16]
pub rns_transport::messages::TransportMessage::AwaitPath::reply: tokio::sync::oneshot::Sender<bool>
pub rns_transport::messages::TransportMessage::BindLinkEndpoint
pub rns_transport::messages::TransportMessage::BindLinkEndpoint::binding: rns_transport::messages::LinkEndpointBinding
pub rns_transport::messages::TransportMessage::BindLinkEndpoint::lifecycle_tx: tokio::sync::mpsc::unbounded::UnboundedSender<rns_transport::messages::LinkEndpointLifecycleEvent>
pub rns_transport::messages::TransportMessage::BindLinkEndpoint::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::LinkEndpointBindResult>
pub rns_transport::messages::TransportMessage::CacheRequest
pub rns_transport::messages::TransportMessage::CacheRequest::destination_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::CacheRequest::packet_hash: [u8; 32]
pub rns_transport::messages::TransportMessage::DeregisterAnnounceHandler
pub rns_transport::messages::TransportMessage::DeregisterAnnounceHandler::aspect_filter: core::option::Option<alloc::string::String>
pub rns_transport::messages::TransportMessage::DeregisterAnnounceSubscription
pub rns_transport::messages::TransportMessage::DeregisterAnnounceSubscription::id: rns_transport::messages::AnnounceHandlerId
pub rns_transport::messages::TransportMessage::DeregisterAnnounceSubscription::result_tx: core::option::Option<tokio::sync::oneshot::Sender<bool>>
pub rns_transport::messages::TransportMessage::DeregisterDestination
pub rns_transport::messages::TransportMessage::DeregisterDestination::hash: [u8; 16]
pub rns_transport::messages::TransportMessage::DeregisterInterface
pub rns_transport::messages::TransportMessage::DeregisterInterface::id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::Inbound(rns_transport::messages::InboundPacket)
pub rns_transport::messages::TransportMessage::InterfaceEvent
pub rns_transport::messages::TransportMessage::InterfaceEvent::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::InterfaceEvent::message: alloc::boxed::Box<rns_transport::messages::TransportMessage>
pub rns_transport::messages::TransportMessage::InterfaceEvent::owner: rns_transport::interface_ownership::InterfaceOwner
pub rns_transport::messages::TransportMessage::Outbound(rns_transport::messages::OutboundRequest)
pub rns_transport::messages::TransportMessage::OutboundAttached
pub rns_transport::messages::TransportMessage::OutboundAttached::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::OutboundAttached::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::RegisterAnnounceHandler
pub rns_transport::messages::TransportMessage::RegisterAnnounceHandler::aspect_filter: core::option::Option<alloc::string::String>
pub rns_transport::messages::TransportMessage::RegisterAnnounceHandler::callback_tx: tokio::sync::mpsc::bounded::Sender<rns_transport::messages::AnnounceHandlerEvent>
pub rns_transport::messages::TransportMessage::RegisterAnnounceHandler::receive_path_responses: bool
pub rns_transport::messages::TransportMessage::RegisterAnnounceSubscription
pub rns_transport::messages::TransportMessage::RegisterAnnounceSubscription::aspect_filter: core::option::Option<alloc::string::String>
pub rns_transport::messages::TransportMessage::RegisterAnnounceSubscription::callback_tx: tokio::sync::mpsc::bounded::Sender<rns_transport::messages::AnnounceHandlerEvent>
pub rns_transport::messages::TransportMessage::RegisterAnnounceSubscription::dropped_events: alloc::sync::Arc<core::sync::atomic::AtomicU64>
pub rns_transport::messages::TransportMessage::RegisterAnnounceSubscription::receive_path_responses: bool
pub rns_transport::messages::TransportMessage::RegisterAnnounceSubscription::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::AnnounceHandlerId>
pub rns_transport::messages::TransportMessage::RegisterDestination
pub rns_transport::messages::TransportMessage::RegisterDestination::app_name: alloc::string::String
pub rns_transport::messages::TransportMessage::RegisterDestination::delivery_tx: core::option::Option<tokio::sync::mpsc::bounded::Sender<rns_transport::link_messages::DestinationEvent>>
pub rns_transport::messages::TransportMessage::RegisterDestination::hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RegisterInterface
pub rns_transport::messages::TransportMessage::RegisterInterface::entry: rns_transport::messages::InterfaceEntry
pub rns_transport::messages::TransportMessage::RegisterInterface::id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::RegisterLink
pub rns_transport::messages::TransportMessage::RegisterLink::destination_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RegisterLink::initiator: bool
pub rns_transport::messages::TransportMessage::RegisterLink::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::RegisterLink::interface_owner: core::option::Option<rns_transport::interface_ownership::InterfaceOwnerId>
pub rns_transport::messages::TransportMessage::RegisterLink::link_id: [u8; 16]
pub rns_transport::messages::TransportMessage::RegisterLink::next_hop: core::option::Option<[u8; 16]>
pub rns_transport::messages::TransportMessage::RegisterLink::remaining_hops: u8
pub rns_transport::messages::TransportMessage::RegisterReceipt
pub rns_transport::messages::TransportMessage::RegisterReceipt::destination_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RegisterReceipt::destination_public_key: [u8; 64]
pub rns_transport::messages::TransportMessage::RegisterReceipt::full_hash: [u8; 32]
pub rns_transport::messages::TransportMessage::RegisterReceipt::msg_id: alloc::string::String
pub rns_transport::messages::TransportMessage::RegisterReceipt::timeout: core::option::Option<core::time::Duration>
pub rns_transport::messages::TransportMessage::RegisterReceipt::truncated_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::destination_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::destination_public_key: [u8; 64]
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::full_hash: [u8; 32]
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::msg_id: alloc::string::String
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::proof_tx: tokio::sync::mpsc::unbounded::UnboundedSender<rns_transport::link_messages::DestinationEvent>
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::timeout: core::option::Option<core::time::Duration>
pub rns_transport::messages::TransportMessage::RegisterReceiptWithProof::truncated_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RequestPath
pub rns_transport::messages::TransportMessage::RequestPath::destination_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RequestPathWithOptions
pub rns_transport::messages::TransportMessage::RequestPathWithOptions::destination_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::RequestPathWithOptions::options: rns_transport::messages::PathRequestOptions
pub rns_transport::messages::TransportMessage::Rpc
pub rns_transport::messages::TransportMessage::Rpc::query: rns_transport::messages::TransportQuery
pub rns_transport::messages::TransportMessage::Rpc::response_tx: tokio::sync::oneshot::Sender<rns_transport::messages::TransportQueryResponse>
pub rns_transport::messages::TransportMessage::SendLinkEndpoint
pub rns_transport::messages::TransportMessage::SendLinkEndpoint::link_id: [u8; 16]
pub rns_transport::messages::TransportMessage::SendLinkEndpoint::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::SendLinkEndpoint::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::LinkEndpointSendResult>
pub rns_transport::messages::TransportMessage::SendLinkEndpoint::role: rns_transport::messages::LinkEndpointRole
pub rns_transport::messages::TransportMessage::SendLinkEndpointAndUnbind
pub rns_transport::messages::TransportMessage::SendLinkEndpointAndUnbind::link_id: [u8; 16]
pub rns_transport::messages::TransportMessage::SendLinkEndpointAndUnbind::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::SendLinkEndpointAndUnbind::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::LinkEndpointSendResult>
pub rns_transport::messages::TransportMessage::SendLinkEndpointAndUnbind::role: rns_transport::messages::LinkEndpointRole
pub rns_transport::messages::TransportMessage::SendLinkEndpointBestEffort
pub rns_transport::messages::TransportMessage::SendLinkEndpointBestEffort::link_id: [u8; 16]
pub rns_transport::messages::TransportMessage::SendLinkEndpointBestEffort::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::SendLinkEndpointBestEffort::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::LinkEndpointSendResult>
pub rns_transport::messages::TransportMessage::SendLinkEndpointBestEffort::role: rns_transport::messages::LinkEndpointRole
pub rns_transport::messages::TransportMessage::SendLinkEndpointExact
pub rns_transport::messages::TransportMessage::SendLinkEndpointExact::authority: rns_transport::link_endpoint_dispatch::LinkEndpointDispatchToken
pub rns_transport::messages::TransportMessage::SendLinkEndpointExact::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::SendLinkEndpointExact::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::LinkEndpointSendResult>
pub rns_transport::messages::TransportMessage::SendLinkRequest
pub rns_transport::messages::TransportMessage::SendLinkRequest::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::SendLinkRequest::result_tx: tokio::sync::oneshot::Sender<core::result::Result<(), rns_transport::link_messages::LinkRequestDispatchError>>
pub rns_transport::messages::TransportMessage::SendPacket
pub rns_transport::messages::TransportMessage::SendPacket::attached_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::messages::TransportMessage::SendPacket::receipt: core::option::Option<rns_transport::messages::TrackedReceiptRegistration>
pub rns_transport::messages::TransportMessage::SendPacket::request: rns_transport::messages::OutboundRequest
pub rns_transport::messages::TransportMessage::SendPacket::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::OutboundDispatchResult>
pub rns_transport::messages::TransportMessage::SetBlackholeSources
pub rns_transport::messages::TransportMessage::SetBlackholeSources::sources: alloc::vec::Vec<[u8; 16]>
pub rns_transport::messages::TransportMessage::SetReceiptTimeout
pub rns_transport::messages::TransportMessage::SetReceiptTimeout::result_tx: tokio::sync::oneshot::Sender<bool>
pub rns_transport::messages::TransportMessage::SetReceiptTimeout::timeout: core::time::Duration
pub rns_transport::messages::TransportMessage::SetReceiptTimeout::truncated_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::SetStoragePaths
pub rns_transport::messages::TransportMessage::SetStoragePaths::storage_dir: std::path::PathBuf
pub rns_transport::messages::TransportMessage::SetTransportEnabled
pub rns_transport::messages::TransportMessage::SetTransportEnabled::enabled: bool
pub rns_transport::messages::TransportMessage::SetTransportIdentity
pub rns_transport::messages::TransportMessage::SetTransportIdentity::identity_hash: [u8; 16]
pub rns_transport::messages::TransportMessage::SharedConnectionLost
pub rns_transport::messages::TransportMessage::SharedConnectionRestored
pub rns_transport::messages::TransportMessage::SharedConnectionRestored::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::Shutdown
pub rns_transport::messages::TransportMessage::SynthesizeTunnel
pub rns_transport::messages::TransportMessage::SynthesizeTunnel::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportMessage::SynthesizeTunnel::raw_packet: bytes::bytes::Bytes
pub rns_transport::messages::TransportMessage::Tick(rns_transport::messages::TimerTick)
pub rns_transport::messages::TransportMessage::UnbindLinkEndpoint
pub rns_transport::messages::TransportMessage::UnbindLinkEndpoint::link_id: [u8; 16]
pub rns_transport::messages::TransportMessage::UnbindLinkEndpoint::result_tx: tokio::sync::oneshot::Sender<rns_transport::messages::LinkEndpointUnbindResult>
pub rns_transport::messages::TransportMessage::UnbindLinkEndpoint::role: rns_transport::messages::LinkEndpointRole
impl core::fmt::Debug for rns_transport::messages::TransportMessage
pub fn rns_transport::messages::TransportMessage::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub enum rns_transport::messages::TransportQuery
pub rns_transport::messages::TransportQuery::ApplyBlackholeManifest
pub rns_transport::messages::TransportQuery::ApplyBlackholeManifest::payload: alloc::vec::Vec<u8>
pub rns_transport::messages::TransportQuery::BlackholeIdentity
pub rns_transport::messages::TransportQuery::BlackholeIdentity::hash: [u8; 16]
pub rns_transport::messages::TransportQuery::BlackholeIdentity::reason: rns_transport::blackhole::BlackholeReason
pub rns_transport::messages::TransportQuery::BlackholeIdentity::reason_label: core::option::Option<alloc::string::String>
pub rns_transport::messages::TransportQuery::BlackholeIdentity::ttl: core::option::Option<f64>
pub rns_transport::messages::TransportQuery::BuildBlackholeManifest
pub rns_transport::messages::TransportQuery::BuildBlackholeManifest::publisher: [u8; 16]
pub rns_transport::messages::TransportQuery::CleanKnownDestinations
pub rns_transport::messages::TransportQuery::ClearSystemBlackholes
pub rns_transport::messages::TransportQuery::DropAllVia
pub rns_transport::messages::TransportQuery::DropAllVia::next_hop: [u8; 16]
pub rns_transport::messages::TransportQuery::DropAnnounceQueues
pub rns_transport::messages::TransportQuery::DropPath
pub rns_transport::messages::TransportQuery::DropPath::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::DropPathTable
pub rns_transport::messages::TransportQuery::DropRecentAnnounces
pub rns_transport::messages::TransportQuery::ExtraLinkProofTimeout
pub rns_transport::messages::TransportQuery::ExtraLinkProofTimeout::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportQuery::FilterBlackholedDests
pub rns_transport::messages::TransportQuery::FilterBlackholedDests::dests: alloc::vec::Vec<[u8; 16]>
pub rns_transport::messages::TransportQuery::FirstHopTimeout
pub rns_transport::messages::TransportQuery::FirstHopTimeout::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetBlackholedIdentities
pub rns_transport::messages::TransportQuery::GetInterfaceStats
pub rns_transport::messages::TransportQuery::GetLinkCount
pub rns_transport::messages::TransportQuery::GetNextHop
pub rns_transport::messages::TransportQuery::GetNextHop::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetNextHopBitrate
pub rns_transport::messages::TransportQuery::GetNextHopBitrate::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetNextHopHardwareMtu
pub rns_transport::messages::TransportQuery::GetNextHopHardwareMtu::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetNextHopIfName
pub rns_transport::messages::TransportQuery::GetNextHopIfName::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetNextHopInterfaceId
pub rns_transport::messages::TransportQuery::GetNextHopInterfaceId::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetPacketQ
pub rns_transport::messages::TransportQuery::GetPacketQ::packet_hash: [u8; 32]
pub rns_transport::messages::TransportQuery::GetPacketRssi
pub rns_transport::messages::TransportQuery::GetPacketRssi::packet_hash: [u8; 32]
pub rns_transport::messages::TransportQuery::GetPacketSnr
pub rns_transport::messages::TransportQuery::GetPacketSnr::packet_hash: [u8; 32]
pub rns_transport::messages::TransportQuery::GetPathState
pub rns_transport::messages::TransportQuery::GetPathState::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::GetPathTable
pub rns_transport::messages::TransportQuery::GetRateTable
pub rns_transport::messages::TransportQuery::GetRecentAnnounces
pub rns_transport::messages::TransportQuery::HaltInterface
pub rns_transport::messages::TransportQuery::HaltInterface::id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportQuery::HasPath
pub rns_transport::messages::TransportQuery::HasPath::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::HopsTo
pub rns_transport::messages::TransportQuery::HopsTo::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::IsBlackholed
pub rns_transport::messages::TransportQuery::IsBlackholed::hash: [u8; 16]
pub rns_transport::messages::TransportQuery::PathIsUnresponsive
pub rns_transport::messages::TransportQuery::PathIsUnresponsive::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::PurgeUnverifiedBlackholes
pub rns_transport::messages::TransportQuery::RecallDestination
pub rns_transport::messages::TransportQuery::RecallDestination::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::RemotePath
pub rns_transport::messages::TransportQuery::RemotePath::command: alloc::string::String
pub rns_transport::messages::TransportQuery::RemotePath::destination: core::option::Option<[u8; 16]>
pub rns_transport::messages::TransportQuery::RemotePath::max_hops: core::option::Option<u8>
pub rns_transport::messages::TransportQuery::RemoteStatus
pub rns_transport::messages::TransportQuery::RemoteStatus::include_link_count: bool
pub rns_transport::messages::TransportQuery::ResolveIdentityHash
pub rns_transport::messages::TransportQuery::ResolveIdentityHash::input: [u8; 16]
pub rns_transport::messages::TransportQuery::ResumeInterface
pub rns_transport::messages::TransportQuery::ResumeInterface::id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportQuery::RetainDestination
pub rns_transport::messages::TransportQuery::RetainDestination::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::RetainIdentity
pub rns_transport::messages::TransportQuery::RetainIdentity::identity_hash: [u8; 16]
pub rns_transport::messages::TransportQuery::SetPathState
pub rns_transport::messages::TransportQuery::SetPathState::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::SetPathState::state: rns_transport::constants::PathState
pub rns_transport::messages::TransportQuery::SuppressCurrentPathInterface
pub rns_transport::messages::TransportQuery::SuppressCurrentPathInterface::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::SuppressCurrentPathInterface::duration: f64
pub rns_transport::messages::TransportQuery::SuppressPathInterface
pub rns_transport::messages::TransportQuery::SuppressPathInterface::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::SuppressPathInterface::duration: f64
pub rns_transport::messages::TransportQuery::SuppressPathInterface::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::TransportQuery::UnblackholeIdentity
pub rns_transport::messages::TransportQuery::UnblackholeIdentity::hash: [u8; 16]
pub rns_transport::messages::TransportQuery::UnretainDestination
pub rns_transport::messages::TransportQuery::UnretainDestination::dest: [u8; 16]
pub rns_transport::messages::TransportQuery::UseDestination
pub rns_transport::messages::TransportQuery::UseDestination::dest: [u8; 16]
pub enum rns_transport::messages::TransportQueryResponse
pub rns_transport::messages::TransportQueryResponse::Announces(alloc::vec::Vec<rns_transport::messages::AnnounceRpcEntry>)
pub rns_transport::messages::TransportQueryResponse::BlackholeList(alloc::vec::Vec<rns_transport::messages::BlackholeRpcEntry>)
pub rns_transport::messages::TransportQueryResponse::BlackholedDests(alloc::vec::Vec<[u8; 16]>)
pub rns_transport::messages::TransportQueryResponse::BoolResult(bool)
pub rns_transport::messages::TransportQueryResponse::Data(alloc::vec::Vec<u8>)
pub rns_transport::messages::TransportQueryResponse::Error(alloc::string::String)
pub rns_transport::messages::TransportQueryResponse::FloatResult(core::option::Option<f64>)
pub rns_transport::messages::TransportQueryResponse::HashResult(core::option::Option<[u8; 16]>)
pub rns_transport::messages::TransportQueryResponse::IntResult(i64)
pub rns_transport::messages::TransportQueryResponse::InterfaceStats(alloc::vec::Vec<rns_transport::messages::InterfaceStatRpcEntry>)
pub rns_transport::messages::TransportQueryResponse::Ok
pub rns_transport::messages::TransportQueryResponse::PathStateResult(rns_transport::constants::PathState)
pub rns_transport::messages::TransportQueryResponse::PathTable(alloc::vec::Vec<rns_transport::messages::PathTableRpcEntry>)
pub rns_transport::messages::TransportQueryResponse::RateTable(alloc::vec::Vec<rns_transport::messages::RateTableRpcEntry>)
pub rns_transport::messages::TransportQueryResponse::RecalledDestination(core::option::Option<rns_transport::messages::RecalledDestinationRpcEntry>)
pub rns_transport::messages::TransportQueryResponse::StringResult(core::option::Option<alloc::string::String>)
pub struct rns_transport::messages::AnnounceHandlerEvent
pub rns_transport::messages::AnnounceHandlerEvent::announce_packet_hash: [u8; 32]
pub rns_transport::messages::AnnounceHandlerEvent::app_data: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::messages::AnnounceHandlerEvent::destination_hash: [u8; 16]
pub rns_transport::messages::AnnounceHandlerEvent::hops: u8
pub rns_transport::messages::AnnounceHandlerEvent::identity_hash: core::option::Option<[u8; 16]>
pub rns_transport::messages::AnnounceHandlerEvent::is_path_response: bool
pub rns_transport::messages::AnnounceHandlerEvent::name_hash: [u8; 10]
pub rns_transport::messages::AnnounceHandlerEvent::public_key: core::option::Option<[u8; 64]>
pub rns_transport::messages::AnnounceHandlerEvent::ratchet: core::option::Option<[u8; 32]>
pub struct rns_transport::messages::AnnounceHandlerId(_)
pub struct rns_transport::messages::AnnounceRpcEntry
pub rns_transport::messages::AnnounceRpcEntry::app_data: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::messages::AnnounceRpcEntry::dest_hash: [u8; 16]
pub rns_transport::messages::AnnounceRpcEntry::hops: u8
pub rns_transport::messages::AnnounceRpcEntry::is_path_response: bool
pub rns_transport::messages::AnnounceRpcEntry::name_hash: [u8; 10]
pub rns_transport::messages::AnnounceRpcEntry::public_key: core::option::Option<[u8; 64]>
pub rns_transport::messages::AnnounceRpcEntry::ratchet: core::option::Option<[u8; 32]>
pub rns_transport::messages::AnnounceRpcEntry::retained: bool
pub rns_transport::messages::AnnounceRpcEntry::timestamp: f64
pub struct rns_transport::messages::BlackholeRpcEntry
pub rns_transport::messages::BlackholeRpcEntry::created: f64
pub rns_transport::messages::BlackholeRpcEntry::identity_hash: [u8; 16]
pub rns_transport::messages::BlackholeRpcEntry::reason: rns_transport::blackhole::BlackholeReason
pub rns_transport::messages::BlackholeRpcEntry::reason_label: core::option::Option<alloc::string::String>
pub rns_transport::messages::BlackholeRpcEntry::source: core::option::Option<[u8; 16]>
pub rns_transport::messages::BlackholeRpcEntry::ttl: core::option::Option<f64>
pub rns_transport::messages::BlackholeRpcEntry::verified: bool
pub struct rns_transport::messages::HeldAnnounce
pub rns_transport::messages::HeldAnnounce::destination_hash: [u8; 16]
pub rns_transport::messages::HeldAnnounce::hops: u8
pub rns_transport::messages::HeldAnnounce::raw: bytes::bytes::Bytes
pub rns_transport::messages::HeldAnnounce::receiving_interface_id: u64
pub struct rns_transport::messages::InboundPacket
pub rns_transport::messages::InboundPacket::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::InboundPacket::q: core::option::Option<f32>
pub rns_transport::messages::InboundPacket::raw: bytes::bytes::Bytes
pub rns_transport::messages::InboundPacket::rssi: core::option::Option<f32>
pub rns_transport::messages::InboundPacket::snr: core::option::Option<f32>
pub struct rns_transport::messages::InterfaceEntry
pub rns_transport::messages::InterfaceEntry::announce_allowed_at: f64
pub rns_transport::messages::InterfaceEntry::announce_cap: f64
pub rns_transport::messages::InterfaceEntry::announce_queue: alloc::vec::Vec<rns_transport::messages::QueuedAnnounce>
pub rns_transport::messages::InterfaceEntry::announce_rate_grace: core::option::Option<u32>
pub rns_transport::messages::InterfaceEntry::announce_rate_penalty: core::option::Option<f64>
pub rns_transport::messages::InterfaceEntry::announce_rate_target: core::option::Option<f64>
pub rns_transport::messages::InterfaceEntry::announces_from_internal: bool
pub rns_transport::messages::InterfaceEntry::bitrate: u64
pub rns_transport::messages::InterfaceEntry::direction: rns_transport::constants::InterfaceDirection
pub rns_transport::messages::InterfaceEntry::ifac_key: core::option::Option<[u8; 64]>
pub rns_transport::messages::InterfaceEntry::ifac_size: usize
pub rns_transport::messages::InterfaceEntry::ingress: rns_transport::ingress::IngressController
pub rns_transport::messages::InterfaceEntry::inspection: core::option::Option<rns_transport::messages::InterfaceInspectionSource>
pub rns_transport::messages::InterfaceEntry::mode: rns_transport::constants::InterfaceMode
pub rns_transport::messages::InterfaceEntry::mtu: u32
pub rns_transport::messages::InterfaceEntry::multipoint: bool
pub rns_transport::messages::InterfaceEntry::name: alloc::string::String
pub rns_transport::messages::InterfaceEntry::online: core::option::Option<alloc::sync::Arc<core::sync::atomic::AtomicBool>>
pub rns_transport::messages::InterfaceEntry::owner: rns_transport::interface_ownership::InterfaceOwner
pub rns_transport::messages::InterfaceEntry::packet_capacity: rns_transport::interface_ownership::InterfacePacketCapacity
pub rns_transport::messages::InterfaceEntry::recursive_prs: bool
pub rns_transport::messages::InterfaceEntry::role: rns_transport::messages::InterfaceRole
pub rns_transport::messages::InterfaceEntry::rxb: core::option::Option<alloc::sync::Arc<core::sync::atomic::AtomicU64>>
pub rns_transport::messages::InterfaceEntry::tx: tokio::sync::mpsc::bounded::Sender<bytes::bytes::Bytes>
pub rns_transport::messages::InterfaceEntry::tx_drops: alloc::sync::Arc<core::sync::atomic::AtomicU64>
pub rns_transport::messages::InterfaceEntry::txb: core::option::Option<alloc::sync::Arc<core::sync::atomic::AtomicU64>>
impl rns_transport::messages::InterfaceEntry
pub fn rns_transport::messages::InterfaceEntry::accepts_clear_packet(&self, usize) -> bool
pub fn rns_transport::messages::InterfaceEntry::active_ifac_bytes(&self) -> usize
pub fn rns_transport::messages::InterfaceEntry::effective_clear_mtu(&self) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub fn rns_transport::messages::InterfaceEntry::new(alloc::string::String, rns_transport::constants::InterfaceMode, rns_transport::constants::InterfaceDirection, u64, u32, tokio::sync::mpsc::bounded::Sender<bytes::bytes::Bytes>) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_announce_rate(self, f64, u32, f64) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_counters(self, alloc::sync::Arc<core::sync::atomic::AtomicBool>, alloc::sync::Arc<core::sync::atomic::AtomicU64>, alloc::sync::Arc<core::sync::atomic::AtomicU64>) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_ifac(self, [u8; 64], usize) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_multipoint(self, bool) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_owner(self, rns_transport::interface_ownership::InterfaceOwner) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_packet_capacity(self, rns_transport::interface_ownership::InterfacePacketCapacity) -> Self
pub fn rns_transport::messages::InterfaceEntry::with_role(self, rns_transport::messages::InterfaceRole) -> Self
impl core::fmt::Debug for rns_transport::messages::InterfaceEntry
pub fn rns_transport::messages::InterfaceEntry::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub struct rns_transport::messages::InterfaceInspectionSnapshot
pub rns_transport::messages::InterfaceInspectionSnapshot::active_clients: core::option::Option<u64>
pub rns_transport::messages::InterfaceInspectionSnapshot::blocked_ips: core::option::Option<u64>
pub struct rns_transport::messages::InterfaceInspectionSource
impl rns_transport::messages::InterfaceInspectionSource
pub fn rns_transport::messages::InterfaceInspectionSource::new<F>(F) -> Self where F: core::ops::function::Fn() -> rns_transport::messages::InterfaceInspectionSnapshot + core::marker::Send + core::marker::Sync + 'static
pub fn rns_transport::messages::InterfaceInspectionSource::snapshot(&self) -> rns_transport::messages::InterfaceInspectionSnapshot
impl core::fmt::Debug for rns_transport::messages::InterfaceInspectionSource
pub fn rns_transport::messages::InterfaceInspectionSource::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub struct rns_transport::messages::InterfaceOwner
impl rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::epoch(&self) -> u64
pub fn rns_transport::interface_ownership::InterfaceOwner::id(&self) -> rns_transport::interface_ownership::InterfaceOwnerId
pub fn rns_transport::interface_ownership::InterfaceOwner::is_current(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::is_registered(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::mark_registered(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::new() -> Self
pub fn rns_transport::interface_ownership::InterfaceOwner::next_revision(&self) -> core::option::Option<Self>
pub fn rns_transport::interface_ownership::InterfaceOwner::revision(&self) -> u64
impl core::cmp::Eq for rns_transport::interface_ownership::InterfaceOwner
impl core::cmp::PartialEq for rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::eq(&self, &Self) -> bool
impl core::default::Default for rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::default() -> Self
pub struct rns_transport::messages::InterfaceOwnerId
impl rns_transport::interface_ownership::InterfaceOwnerId
pub fn rns_transport::interface_ownership::InterfaceOwnerId::matches(self, &rns_transport::interface_ownership::InterfaceOwner) -> bool
pub struct rns_transport::messages::InterfacePacketCapacity
pub rns_transport::messages::InterfacePacketCapacity::link_mtu_upgrade: bool
pub rns_transport::messages::InterfacePacketCapacity::max_clear_packet_bytes: u32
pub rns_transport::messages::InterfacePacketCapacity::max_wire_packet_bytes: u32
impl rns_transport::interface_ownership::InterfacePacketCapacity
pub const fn rns_transport::interface_ownership::InterfacePacketCapacity::base(u32) -> Self
pub fn rns_transport::interface_ownership::InterfacePacketCapacity::effective_clear_mtu(self, usize) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub fn rns_transport::interface_ownership::InterfacePacketCapacity::link_ceiling(self, rns_transport::messages::InterfaceId, usize) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub const fn rns_transport::interface_ownership::InterfacePacketCapacity::new(u32, u32, bool) -> Self
pub struct rns_transport::messages::InterfaceStatRpcEntry
pub rns_transport::messages::InterfaceStatRpcEntry::announce_cap: f64
pub rns_transport::messages::InterfaceStatRpcEntry::announce_queue: core::option::Option<u64>
pub rns_transport::messages::InterfaceStatRpcEntry::announce_rate_grace: core::option::Option<u32>
pub rns_transport::messages::InterfaceStatRpcEntry::announce_rate_penalty: core::option::Option<f64>
pub rns_transport::messages::InterfaceStatRpcEntry::announce_rate_target: core::option::Option<f64>
pub rns_transport::messages::InterfaceStatRpcEntry::bitrate: u64
pub rns_transport::messages::InterfaceStatRpcEntry::blocked_ips: core::option::Option<u64>
pub rns_transport::messages::InterfaceStatRpcEntry::burst_activated: f64
pub rns_transport::messages::InterfaceStatRpcEntry::burst_active: bool
pub rns_transport::messages::InterfaceStatRpcEntry::clients: core::option::Option<u64>
pub rns_transport::messages::InterfaceStatRpcEntry::held_announces: u64
pub rns_transport::messages::InterfaceStatRpcEntry::id: rns_transport::messages::InterfaceId
pub rns_transport::messages::InterfaceStatRpcEntry::ifac_size: usize
pub rns_transport::messages::InterfaceStatRpcEntry::incoming_announce_frequency: f64
pub rns_transport::messages::InterfaceStatRpcEntry::incoming_pr_frequency: f64
pub rns_transport::messages::InterfaceStatRpcEntry::mode: alloc::string::String
pub rns_transport::messages::InterfaceStatRpcEntry::mtu: u32
pub rns_transport::messages::InterfaceStatRpcEntry::name: alloc::string::String
pub rns_transport::messages::InterfaceStatRpcEntry::online: bool
pub rns_transport::messages::InterfaceStatRpcEntry::outgoing_announce_frequency: f64
pub rns_transport::messages::InterfaceStatRpcEntry::outgoing_pr_frequency: f64
pub rns_transport::messages::InterfaceStatRpcEntry::pr_burst_activated: f64
pub rns_transport::messages::InterfaceStatRpcEntry::pr_burst_active: bool
pub rns_transport::messages::InterfaceStatRpcEntry::role: alloc::string::String
pub rns_transport::messages::InterfaceStatRpcEntry::rx_bytes: u64
pub rns_transport::messages::InterfaceStatRpcEntry::rx_rate: u64
pub rns_transport::messages::InterfaceStatRpcEntry::tx_bytes: u64
pub rns_transport::messages::InterfaceStatRpcEntry::tx_drops: u64
pub rns_transport::messages::InterfaceStatRpcEntry::tx_rate: u64
pub struct rns_transport::messages::InterfaceTransportSender
impl rns_transport::interface_ownership::InterfaceTransportSender
pub fn rns_transport::interface_ownership::InterfaceTransportSender::actor_sender(&self) -> tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>
pub fn rns_transport::interface_ownership::InterfaceTransportSender::bind(rns_transport::messages::InterfaceId, rns_transport::interface_ownership::InterfaceOwner, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>) -> Self
pub fn rns_transport::interface_ownership::InterfaceTransportSender::capacity(&self) -> usize
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::closed(&self)
pub fn rns_transport::interface_ownership::InterfaceTransportSender::event(&self, rns_transport::messages::TransportMessage) -> rns_transport::messages::TransportMessage
pub fn rns_transport::interface_ownership::InterfaceTransportSender::interface_id(&self) -> rns_transport::messages::InterfaceId
pub fn rns_transport::interface_ownership::InterfaceTransportSender::is_closed(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceTransportSender::max_capacity(&self) -> usize
pub fn rns_transport::interface_ownership::InterfaceTransportSender::new(rns_transport::messages::InterfaceId, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>) -> Self
pub fn rns_transport::interface_ownership::InterfaceTransportSender::owner(&self) -> rns_transport::interface_ownership::InterfaceOwner
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::ready(&self) -> bool
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::send(&self, rns_transport::messages::TransportMessage) -> core::result::Result<(), tokio::sync::mpsc::error::SendError<rns_transport::messages::TransportMessage>>
pub fn rns_transport::interface_ownership::InterfaceTransportSender::try_send(&self, rns_transport::messages::TransportMessage) -> core::result::Result<(), tokio::sync::mpsc::error::TrySendError<rns_transport::messages::TransportMessage>>
pub struct rns_transport::messages::LinkEndpointBinding
pub rns_transport::messages::LinkEndpointBinding::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::LinkEndpointBinding::interface_owner: core::option::Option<rns_transport::interface_ownership::InterfaceOwnerId>
pub rns_transport::messages::LinkEndpointBinding::link_id: [u8; 16]
pub rns_transport::messages::LinkEndpointBinding::role: rns_transport::messages::LinkEndpointRole
pub struct rns_transport::messages::LinkEndpointLifecycleEvent
pub rns_transport::messages::LinkEndpointLifecycleEvent::binding: rns_transport::messages::LinkEndpointBinding
pub rns_transport::messages::LinkEndpointLifecycleEvent::dropped_packets: usize
pub rns_transport::messages::LinkEndpointLifecycleEvent::reason: rns_transport::messages::LinkEndpointTerminalReason
pub struct rns_transport::messages::OutboundRequest
pub rns_transport::messages::OutboundRequest::destination_hash: [u8; 16]
pub rns_transport::messages::OutboundRequest::raw: bytes::bytes::Bytes
pub struct rns_transport::messages::PathRequestOptions
pub rns_transport::messages::PathRequestOptions::on_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::messages::PathRequestOptions::recursive: bool
pub rns_transport::messages::PathRequestOptions::tag: core::option::Option<alloc::vec::Vec<u8>>
pub struct rns_transport::messages::PathTableRpcEntry
pub rns_transport::messages::PathTableRpcEntry::expires: f64
pub rns_transport::messages::PathTableRpcEntry::hash: [u8; 16]
pub rns_transport::messages::PathTableRpcEntry::hops: u8
pub rns_transport::messages::PathTableRpcEntry::interface: alloc::string::String
pub rns_transport::messages::PathTableRpcEntry::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::messages::PathTableRpcEntry::interface_mode: rns_transport::constants::InterfaceMode
pub rns_transport::messages::PathTableRpcEntry::interface_role: rns_transport::messages::InterfaceRole
pub rns_transport::messages::PathTableRpcEntry::timestamp: f64
pub rns_transport::messages::PathTableRpcEntry::via: core::option::Option<[u8; 16]>
pub struct rns_transport::messages::QueuedAnnounce
pub rns_transport::messages::QueuedAnnounce::destination_hash: [u8; 16]
pub rns_transport::messages::QueuedAnnounce::hops: u8
pub rns_transport::messages::QueuedAnnounce::raw: bytes::bytes::Bytes
pub rns_transport::messages::QueuedAnnounce::time: f64
pub struct rns_transport::messages::RateTableRpcEntry
pub rns_transport::messages::RateTableRpcEntry::blocked_until: f64
pub rns_transport::messages::RateTableRpcEntry::hash: [u8; 16]
pub rns_transport::messages::RateTableRpcEntry::last: f64
pub rns_transport::messages::RateTableRpcEntry::rate: f64
pub rns_transport::messages::RateTableRpcEntry::rate_violations: u32
pub rns_transport::messages::RateTableRpcEntry::timestamps: alloc::vec::Vec<f64>
pub struct rns_transport::messages::RecalledDestinationRpcEntry
pub rns_transport::messages::RecalledDestinationRpcEntry::app_data: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::messages::RecalledDestinationRpcEntry::dest_hash: [u8; 16]
pub rns_transport::messages::RecalledDestinationRpcEntry::hops: u8
pub rns_transport::messages::RecalledDestinationRpcEntry::public_key: [u8; 64]
pub rns_transport::messages::RecalledDestinationRpcEntry::ratchet: core::option::Option<[u8; 32]>
pub rns_transport::messages::RecalledDestinationRpcEntry::timestamp: f64
pub struct rns_transport::messages::TimerTick
pub rns_transport::messages::TimerTick::timestamp: f64
pub struct rns_transport::messages::TrackedReceiptRegistration
pub rns_transport::messages::TrackedReceiptRegistration::destination_hash: [u8; 16]
pub rns_transport::messages::TrackedReceiptRegistration::destination_public_key: [u8; 64]
pub rns_transport::messages::TrackedReceiptRegistration::full_hash: [u8; 32]
pub rns_transport::messages::TrackedReceiptRegistration::status_tx: tokio::sync::watch::Sender<rns_transport::messages::ReceiptUpdate>
pub rns_transport::messages::TrackedReceiptRegistration::timeout: core::option::Option<core::time::Duration>
pub rns_transport::messages::TrackedReceiptRegistration::truncated_hash: [u8; 16]
impl core::fmt::Debug for rns_transport::messages::TrackedReceiptRegistration
pub fn rns_transport::messages::TrackedReceiptRegistration::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub fn rns_transport::messages::msg_variant_name(&rns_transport::messages::TransportMessage) -> &'static str
pub type rns_transport::messages::InterfaceId = u64
pub mod rns_transport::path_discovery
#[non_exhaustive] pub enum rns_transport::path_discovery::DiscoveryError
pub rns_transport::path_discovery::DiscoveryError::Capacity
pub rns_transport::path_discovery::DiscoveryError::InterfaceUnavailable
pub rns_transport::path_discovery::DiscoveryError::InvalidClock
pub rns_transport::path_discovery::DiscoveryError::KnownDestination
pub rns_transport::path_discovery::DiscoveryError::PolicyDenied
pub rns_transport::path_discovery::DiscoveryError::TransportDisabled
pub rns_transport::path_discovery::DiscoveryError::UnknownInterface
impl core::error::Error for rns_transport::path_discovery::DiscoveryError
impl core::fmt::Display for rns_transport::path_discovery::DiscoveryError
pub fn rns_transport::path_discovery::DiscoveryError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub struct rns_transport::path_discovery::DiscoveryAdmission
impl rns_transport::path_discovery::DiscoveryAdmission
pub fn rns_transport::path_discovery::DiscoveryAdmission::requester(&self) -> &rns_transport::path_discovery::DiscoveryRequester
pub fn rns_transport::path_discovery::DiscoveryAdmission::started(&self) -> bool
pub struct rns_transport::path_discovery::DiscoveryPathRequest
impl rns_transport::path_discovery::DiscoveryPathRequest
pub fn rns_transport::path_discovery::DiscoveryPathRequest::deadline(&self) -> f64
pub fn rns_transport::path_discovery::DiscoveryPathRequest::destination_hash(&self) -> [u8; 16]
pub fn rns_transport::path_discovery::DiscoveryPathRequest::requesters(&self) -> &[rns_transport::path_discovery::DiscoveryRequester]
pub struct rns_transport::path_discovery::DiscoveryRequester
impl rns_transport::path_discovery::DiscoveryRequester
pub fn rns_transport::path_discovery::DiscoveryRequester::destination_hash(&self) -> [u8; 16]
pub fn rns_transport::path_discovery::DiscoveryRequester::interface_id(&self) -> rns_transport::messages::InterfaceId
impl core::cmp::Eq for rns_transport::path_discovery::DiscoveryRequester
impl core::cmp::PartialEq for rns_transport::path_discovery::DiscoveryRequester
pub fn rns_transport::path_discovery::DiscoveryRequester::eq(&self, &Self) -> bool
pub mod rns_transport::path_recovery
#[non_exhaustive] pub enum rns_transport::path_recovery::PathRecoveryError
pub rns_transport::path_recovery::PathRecoveryError::Closed
pub rns_transport::path_recovery::PathRecoveryError::Full
impl core::error::Error for rns_transport::path_recovery::PathRecoveryError
impl core::fmt::Display for rns_transport::path_recovery::PathRecoveryError
pub fn rns_transport::path_recovery::PathRecoveryError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
pub struct rns_transport::path_recovery::PathRecoveryHandle
impl rns_transport::path_recovery::PathRecoveryHandle
pub fn rns_transport::path_recovery::PathRecoveryHandle::try_invalidate_link(&self, [u8; 16], [u8; 16]) -> core::result::Result<tokio::sync::oneshot::Receiver<rns_transport::path_recovery::PathRecoveryOutcome>, rns_transport::path_recovery::PathRecoveryError>
pub fn rns_transport::path_recovery::PathRecoveryHandle::try_invalidate_packet(&self, [u8; 16], [u8; 32]) -> core::result::Result<tokio::sync::oneshot::Receiver<rns_transport::path_recovery::PathRecoveryOutcome>, rns_transport::path_recovery::PathRecoveryError>
pub fn rns_transport::path_recovery::PathRecoveryHandle::try_recover(&self, [u8; 16], core::option::Option<[u8; 16]>) -> core::result::Result<tokio::sync::oneshot::Receiver<rns_transport::path_recovery::PathRecoveryOutcome>, rns_transport::path_recovery::PathRecoveryError>
pub fn rns_transport::path_recovery::PathRecoveryHandle::try_recover_packet(&self, [u8; 16], [u8; 32]) -> core::result::Result<tokio::sync::oneshot::Receiver<rns_transport::path_recovery::PathRecoveryOutcome>, rns_transport::path_recovery::PathRecoveryError>
#[non_exhaustive] pub struct rns_transport::path_recovery::PathRecoveryOutcome
pub rns_transport::path_recovery::PathRecoveryOutcome::has_path: bool
pub rns_transport::path_recovery::PathRecoveryOutcome::path_dropped: bool
pub rns_transport::path_recovery::PathRecoveryOutcome::request_scheduled: bool
pub mod rns_transport::path_table
pub struct rns_transport::path_table::PathEntry
pub rns_transport::path_table::PathEntry::expires: f64
pub rns_transport::path_table::PathEntry::hops: u8
pub rns_transport::path_table::PathEntry::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::path_table::PathEntry::next_hop: core::option::Option<[u8; 16]>
pub rns_transport::path_table::PathEntry::packet_hash: core::option::Option<[u8; 32]>
pub rns_transport::path_table::PathEntry::random_blobs: alloc::collections::vec_deque::VecDeque<[u8; 10]>
pub rns_transport::path_table::PathEntry::timestamp: f64
impl rns_transport::path_table::PathEntry
pub fn rns_transport::path_table::PathEntry::add_random_blob(&mut self, [u8; 10])
pub fn rns_transport::path_table::PathEntry::blobs_for_persist(&self) -> alloc::vec::Vec<[u8; 10]>
pub fn rns_transport::path_table::PathEntry::has_random_blob(&self, &[u8; 10]) -> bool
pub fn rns_transport::path_table::PathEntry::is_expired(&self) -> bool
pub fn rns_transport::path_table::PathEntry::new(core::option::Option<[u8; 16]>, u8, rns_transport::messages::InterfaceId, rns_transport::constants::InterfaceMode) -> Self
pub fn rns_transport::path_table::PathEntry::touch(&mut self)
pub struct rns_transport::path_table::PathTable
impl rns_transport::path_table::PathTable
pub fn rns_transport::path_table::PathTable::cull_dead_interfaces(&mut self, &std::collections::hash::set::HashSet<rns_transport::messages::InterfaceId>) -> usize
pub fn rns_transport::path_table::PathTable::cull_expired(&mut self) -> usize
pub fn rns_transport::path_table::PathTable::cull_expired_batch(&mut self, usize) -> usize
pub fn rns_transport::path_table::PathTable::drop_all_via(&mut self, rns_transport::messages::InterfaceId) -> usize
pub fn rns_transport::path_table::PathTable::drop_all_via_next_hop(&mut self, &[u8; 16]) -> usize
pub fn rns_transport::path_table::PathTable::expire(&mut self, &[u8; 16]) -> bool
pub fn rns_transport::path_table::PathTable::get(&self, &[u8; 16]) -> core::option::Option<&rns_transport::path_table::PathEntry>
pub fn rns_transport::path_table::PathTable::get_live(&self, &[u8; 16]) -> core::option::Option<&rns_transport::path_table::PathEntry>
pub fn rns_transport::path_table::PathTable::get_live_mut(&mut self, &[u8; 16]) -> core::option::Option<&mut rns_transport::path_table::PathEntry>
pub fn rns_transport::path_table::PathTable::get_mut(&mut self, &[u8; 16]) -> core::option::Option<&mut rns_transport::path_table::PathEntry>
pub fn rns_transport::path_table::PathTable::get_state(&self, &[u8; 16]) -> rns_transport::constants::PathState
pub fn rns_transport::path_table::PathTable::has_path(&self, &[u8; 16]) -> bool
pub fn rns_transport::path_table::PathTable::hops_to(&self, &[u8; 16]) -> core::option::Option<u8>
pub fn rns_transport::path_table::PathTable::insert(&mut self, impl core::convert::Into<rns_wire::types::DestHash>, rns_transport::path_table::PathEntry)
pub fn rns_transport::path_table::PathTable::is_empty(&self) -> bool
pub fn rns_transport::path_table::PathTable::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&rns_wire::types::DestHash, &rns_transport::path_table::PathEntry)>
pub fn rns_transport::path_table::PathTable::iter_live(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&rns_wire::types::DestHash, &rns_transport::path_table::PathEntry)>
pub fn rns_transport::path_table::PathTable::len(&self) -> usize
pub fn rns_transport::path_table::PathTable::new() -> Self
pub fn rns_transport::path_table::PathTable::remove(&mut self, &[u8; 16]) -> core::option::Option<rns_transport::path_table::PathEntry>
pub fn rns_transport::path_table::PathTable::set_state(&mut self, impl core::convert::Into<rns_wire::types::DestHash>, rns_transport::constants::PathState)
impl core::default::Default for rns_transport::path_table::PathTable
pub fn rns_transport::path_table::PathTable::default() -> Self
pub mod rns_transport::persistence
pub enum rns_transport::persistence::PersistenceError
pub rns_transport::persistence::PersistenceError::Deserialize(alloc::string::String)
pub rns_transport::persistence::PersistenceError::Io(core::io::error::Error)
pub rns_transport::persistence::PersistenceError::Serialize(alloc::string::String)
pub rns_transport::persistence::PersistenceError::VersionMismatch
pub rns_transport::persistence::PersistenceError::VersionMismatch::expected: u32
pub rns_transport::persistence::PersistenceError::VersionMismatch::found: u32
pub struct rns_transport::persistence::LegacyPersistedAnnounceEntryV5
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::app_data: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::destination_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::hops: u8
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::name_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::public_key: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::ratchet: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::raw_packet: alloc::vec::Vec<u8>
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::retained: bool
pub rns_transport::persistence::LegacyPersistedAnnounceEntryV5::timestamp: f64
pub struct rns_transport::persistence::PersistedAnnounceCache
pub rns_transport::persistence::PersistedAnnounceCache::entries: alloc::vec::Vec<rns_transport::persistence::PersistedAnnounceEntry>
pub rns_transport::persistence::PersistedAnnounceCache::version: u32
impl rns_transport::persistence::PersistedAnnounceCache
pub const rns_transport::persistence::PersistedAnnounceCache::CURRENT_VERSION: u32
pub const rns_transport::persistence::PersistedAnnounceCache::LEGACY_RAW_VERSION: u32
pub struct rns_transport::persistence::PersistedAnnounceEntry
pub rns_transport::persistence::PersistedAnnounceEntry::app_data: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedAnnounceEntry::destination_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::PersistedAnnounceEntry::hops: u8
pub rns_transport::persistence::PersistedAnnounceEntry::is_path_response: bool
pub rns_transport::persistence::PersistedAnnounceEntry::last_used: core::option::Option<f64>
pub rns_transport::persistence::PersistedAnnounceEntry::name_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::PersistedAnnounceEntry::packet_hash: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedAnnounceEntry::public_key: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedAnnounceEntry::ratchet: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedAnnounceEntry::retained: bool
pub rns_transport::persistence::PersistedAnnounceEntry::timestamp: f64
pub struct rns_transport::persistence::PersistedBlackholeEntry
pub rns_transport::persistence::PersistedBlackholeEntry::created: f64
pub rns_transport::persistence::PersistedBlackholeEntry::identity_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::PersistedBlackholeEntry::reason: rns_transport::blackhole::BlackholeReason
pub rns_transport::persistence::PersistedBlackholeEntry::reason_label: core::option::Option<alloc::string::String>
pub rns_transport::persistence::PersistedBlackholeEntry::ttl: core::option::Option<f64>
pub struct rns_transport::persistence::PersistedBlackholeTable
pub rns_transport::persistence::PersistedBlackholeTable::entries: alloc::vec::Vec<rns_transport::persistence::PersistedBlackholeEntry>
pub rns_transport::persistence::PersistedBlackholeTable::version: u32
impl rns_transport::persistence::PersistedBlackholeTable
pub const rns_transport::persistence::PersistedBlackholeTable::CURRENT_VERSION: u32
pub const rns_transport::persistence::PersistedBlackholeTable::SUPPORTED_VERSIONS: &'static [u32]
pub struct rns_transport::persistence::PersistedHashlist
pub rns_transport::persistence::PersistedHashlist::hashes: alloc::vec::Vec<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedHashlist::version: u32
pub struct rns_transport::persistence::PersistedPathEntry
pub rns_transport::persistence::PersistedPathEntry::destination_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::PersistedPathEntry::expires: f64
pub rns_transport::persistence::PersistedPathEntry::hops: u8
pub rns_transport::persistence::PersistedPathEntry::interface_hash: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedPathEntry::interface_id: u64
pub rns_transport::persistence::PersistedPathEntry::interface_name: core::option::Option<alloc::string::String>
pub rns_transport::persistence::PersistedPathEntry::next_hop: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedPathEntry::packet_hash: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedPathEntry::random_blobs: alloc::vec::Vec<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedPathEntry::timestamp: f64
pub struct rns_transport::persistence::PersistedPathTable
pub rns_transport::persistence::PersistedPathTable::entries: alloc::vec::Vec<rns_transport::persistence::PersistedPathEntry>
pub rns_transport::persistence::PersistedPathTable::version: u32
impl rns_transport::persistence::PersistedPathTable
pub const rns_transport::persistence::PersistedPathTable::CURRENT_VERSION: u32
pub const rns_transport::persistence::PersistedPathTable::SUPPORTED_VERSIONS: &'static [u32]
pub struct rns_transport::persistence::PersistedTunnelEntry
pub rns_transport::persistence::PersistedTunnelEntry::expires: f64
pub rns_transport::persistence::PersistedTunnelEntry::interface_hash: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedTunnelEntry::interface_id: u64
pub rns_transport::persistence::PersistedTunnelEntry::interface_name: core::option::Option<alloc::string::String>
pub rns_transport::persistence::PersistedTunnelEntry::paths: alloc::vec::Vec<rns_transport::persistence::PersistedTunnelPath>
pub rns_transport::persistence::PersistedTunnelEntry::tunnel_id: alloc::vec::Vec<u8>
pub struct rns_transport::persistence::PersistedTunnelPath
pub rns_transport::persistence::PersistedTunnelPath::destination_hash: alloc::vec::Vec<u8>
pub rns_transport::persistence::PersistedTunnelPath::expires: f64
pub rns_transport::persistence::PersistedTunnelPath::hops: u8
pub rns_transport::persistence::PersistedTunnelPath::next_hop: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedTunnelPath::packet_hash: core::option::Option<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedTunnelPath::random_blobs: alloc::vec::Vec<alloc::vec::Vec<u8>>
pub rns_transport::persistence::PersistedTunnelPath::timestamp: f64
pub struct rns_transport::persistence::PersistedTunnelTable
pub rns_transport::persistence::PersistedTunnelTable::entries: alloc::vec::Vec<rns_transport::persistence::PersistedTunnelEntry>
pub rns_transport::persistence::PersistedTunnelTable::version: u32
impl rns_transport::persistence::PersistedTunnelTable
pub const rns_transport::persistence::PersistedTunnelTable::CURRENT_VERSION: u32
pub const rns_transport::persistence::PersistedTunnelTable::SUPPORTED_VERSIONS: &'static [u32]
pub struct rns_transport::persistence::PythonBlackholeEntry
pub rns_transport::persistence::PythonBlackholeEntry::created: f64
pub rns_transport::persistence::PythonBlackholeEntry::identity_hash: [u8; 16]
pub rns_transport::persistence::PythonBlackholeEntry::reason: rns_transport::blackhole::BlackholeReason
pub rns_transport::persistence::PythonBlackholeEntry::reason_label: core::option::Option<alloc::string::String>
pub rns_transport::persistence::PythonBlackholeEntry::source: [u8; 16]
pub rns_transport::persistence::PythonBlackholeEntry::ttl: core::option::Option<f64>
pub struct rns_transport::persistence::PythonCachedAnnounce
pub rns_transport::persistence::PythonCachedAnnounce::interface_reference: core::option::Option<alloc::string::String>
pub rns_transport::persistence::PythonCachedAnnounce::raw_packet: alloc::vec::Vec<u8>
pub struct rns_transport::persistence::PythonDestinationEntry
pub rns_transport::persistence::PythonDestinationEntry::destination_hash: [u8; 16]
pub rns_transport::persistence::PythonDestinationEntry::expires: f64
pub rns_transport::persistence::PythonDestinationEntry::hops: u8
pub rns_transport::persistence::PythonDestinationEntry::interface_hash: [u8; 32]
pub rns_transport::persistence::PythonDestinationEntry::packet_hash: [u8; 32]
pub rns_transport::persistence::PythonDestinationEntry::random_blobs: alloc::vec::Vec<[u8; 10]>
pub rns_transport::persistence::PythonDestinationEntry::received_from: [u8; 16]
pub rns_transport::persistence::PythonDestinationEntry::timestamp: f64
pub struct rns_transport::persistence::PythonTunnelEntry
pub rns_transport::persistence::PythonTunnelEntry::expires: f64
pub rns_transport::persistence::PythonTunnelEntry::interface_hash: core::option::Option<[u8; 32]>
pub rns_transport::persistence::PythonTunnelEntry::paths: alloc::vec::Vec<rns_transport::persistence::PythonTunnelPath>
pub rns_transport::persistence::PythonTunnelEntry::tunnel_id: [u8; 32]
pub struct rns_transport::persistence::PythonTunnelPath
pub rns_transport::persistence::PythonTunnelPath::destination_hash: [u8; 16]
pub rns_transport::persistence::PythonTunnelPath::expires: f64
pub rns_transport::persistence::PythonTunnelPath::hops: u8
pub rns_transport::persistence::PythonTunnelPath::interface_hash: core::option::Option<[u8; 32]>
pub rns_transport::persistence::PythonTunnelPath::packet_hash: [u8; 32]
pub rns_transport::persistence::PythonTunnelPath::random_blobs: alloc::vec::Vec<[u8; 10]>
pub rns_transport::persistence::PythonTunnelPath::received_from: [u8; 16]
pub rns_transport::persistence::PythonTunnelPath::timestamp: f64
pub struct rns_transport::persistence::RawHashlistLoad
pub rns_transport::persistence::RawHashlistLoad::duplicate_count: usize
pub rns_transport::persistence::RawHashlistLoad::hashes: alloc::vec::Vec<[u8; 32]>
pub rns_transport::persistence::RawHashlistLoad::partial_tail_bytes: usize
pub fn rns_transport::persistence::interface_hash_from_name(&str) -> [u8; 32]
pub fn rns_transport::persistence::load_announce_cache(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PersistedAnnounceEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_announce_cache_legacy_v5(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::LegacyPersistedAnnounceEntryV5>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_blackhole_table(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PersistedBlackholeEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_hashlist(&std::path::Path) -> core::result::Result<alloc::vec::Vec<[u8; 32]>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_hashlist_legacy(&std::path::Path) -> core::result::Result<alloc::vec::Vec<[u8; 32]>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_hashlist_raw(&std::path::Path) -> core::result::Result<rns_transport::persistence::RawHashlistLoad, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_path_table(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PersistedPathEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_python_blackhole_dir(&std::path::Path, [u8; 16], &[[u8; 16]], f64) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PythonBlackholeEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_python_cached_announce(&std::path::Path, &[u8; 32]) -> core::result::Result<core::option::Option<rns_transport::persistence::PythonCachedAnnounce>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_python_destination_table(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PythonDestinationEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_python_tunnel_table(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PythonTunnelEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::load_tunnel_table(&std::path::Path) -> core::result::Result<alloc::vec::Vec<rns_transport::persistence::PersistedTunnelEntry>, rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::migrate_legacy_announce_entries(alloc::vec::Vec<rns_transport::persistence::LegacyPersistedAnnounceEntryV5>, &std::path::Path) -> alloc::vec::Vec<rns_transport::persistence::PersistedAnnounceEntry>
pub fn rns_transport::persistence::save_announce_cache<'a, I>(I, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError> where I: core::iter::traits::collect::IntoIterator<Item = &'a rns_transport::actor::RecentAnnounce>
pub fn rns_transport::persistence::save_blackhole_table(&rns_transport::blackhole::BlackholeTable, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_hashlist(&rns_transport::hashlist::PacketHashlist, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_hashlist_legacy(&rns_transport::hashlist::PacketHashlist, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_hashlist_raw(&rns_transport::hashlist::PacketHashlist, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_path_table(&rns_transport::path_table::PathTable, &std::collections::hash::map::HashMap<u64, alloc::string::String>, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_python_blackhole_files(&rns_transport::blackhole::BlackholeTable, [u8; 16], &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_python_destination_table(&rns_transport::path_table::PathTable, &std::collections::hash::map::HashMap<u64, alloc::string::String>, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_python_tunnel_table(&rns_transport::tunnel::TunnelTable, &std::collections::hash::map::HashMap<u64, alloc::string::String>, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_raw_hashes(&[[u8; 32]], &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::save_tunnel_table(&rns_transport::tunnel::TunnelTable, &std::collections::hash::map::HashMap<u64, alloc::string::String>, &std::path::Path) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub fn rns_transport::persistence::sweep_announce_cache(&std::path::Path, &std::collections::hash::set::HashSet<[u8; 32]>, core::time::Duration) -> (usize, usize)
pub fn rns_transport::persistence::write_python_cached_announce_if_absent(&std::path::Path, &[u8; 32], &[u8], core::option::Option<&str>) -> core::result::Result<(), rns_transport::persistence::PersistenceError>
pub mod rns_transport::rate_limit
pub struct rns_transport::rate_limit::RateEntry
pub rns_transport::rate_limit::RateEntry::blocked_until: f64
pub rns_transport::rate_limit::RateEntry::last: f64
pub rns_transport::rate_limit::RateEntry::rate: f64
pub rns_transport::rate_limit::RateEntry::timestamps: alloc::vec::Vec<f64>
pub rns_transport::rate_limit::RateEntry::violations: u32
pub struct rns_transport::rate_limit::RateTable
impl rns_transport::rate_limit::RateTable
pub fn rns_transport::rate_limit::RateTable::check_interface_rate(&mut self, impl core::convert::Into<rns_wire::types::DestHash>, f64, u32, f64) -> bool
pub fn rns_transport::rate_limit::RateTable::cull(&mut self, f64)
pub fn rns_transport::rate_limit::RateTable::get_rate(&self, &[u8; 16]) -> f64
pub fn rns_transport::rate_limit::RateTable::is_blocked(&self, &[u8; 16]) -> bool
pub fn rns_transport::rate_limit::RateTable::is_empty(&self) -> bool
pub fn rns_transport::rate_limit::RateTable::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&rns_wire::types::DestHash, &rns_transport::rate_limit::RateEntry)>
pub fn rns_transport::rate_limit::RateTable::last_announce(&self, &[u8; 16]) -> core::option::Option<f64>
pub fn rns_transport::rate_limit::RateTable::len(&self) -> usize
pub fn rns_transport::rate_limit::RateTable::new() -> Self
pub fn rns_transport::rate_limit::RateTable::record(&mut self, impl core::convert::Into<rns_wire::types::DestHash>) -> f64
impl core::default::Default for rns_transport::rate_limit::RateTable
pub fn rns_transport::rate_limit::RateTable::default() -> Self
pub const rns_transport::rate_limit::RATE_PENALTY_BASE: f64
pub const rns_transport::rate_limit::RATE_PENALTY_MAX: f64
pub const rns_transport::rate_limit::RATE_VIOLATIONS_BEFORE_PENALTY: u32
pub const rns_transport::rate_limit::RATE_VIOLATION_THRESHOLD: f64
pub mod rns_transport::reverse_table
pub struct rns_transport::reverse_table::ReverseEntry
pub rns_transport::reverse_table::ReverseEntry::outbound_interface: core::option::Option<rns_transport::messages::InterfaceId>
pub rns_transport::reverse_table::ReverseEntry::receiving_interface: rns_transport::messages::InterfaceId
pub rns_transport::reverse_table::ReverseEntry::remaining_hops: u8
pub rns_transport::reverse_table::ReverseEntry::timestamp: f64
pub struct rns_transport::reverse_table::ReverseTable
impl rns_transport::reverse_table::ReverseTable
pub fn rns_transport::reverse_table::ReverseTable::cull_dead_interfaces(&mut self, &std::collections::hash::set::HashSet<rns_transport::messages::InterfaceId>) -> usize
pub fn rns_transport::reverse_table::ReverseTable::cull_expired(&mut self) -> usize
pub fn rns_transport::reverse_table::ReverseTable::cull_expired_batch(&mut self, usize) -> usize
pub fn rns_transport::reverse_table::ReverseTable::get(&self, &[u8; 16]) -> core::option::Option<&rns_transport::reverse_table::ReverseEntry>
pub fn rns_transport::reverse_table::ReverseTable::insert(&mut self, impl core::convert::Into<rns_wire::types::TruncatedHash>, rns_transport::messages::InterfaceId, u8)
pub fn rns_transport::reverse_table::ReverseTable::insert_with_outbound(&mut self, impl core::convert::Into<rns_wire::types::TruncatedHash>, rns_transport::messages::InterfaceId, u8, core::option::Option<rns_transport::messages::InterfaceId>)
pub fn rns_transport::reverse_table::ReverseTable::is_empty(&self) -> bool
pub fn rns_transport::reverse_table::ReverseTable::len(&self) -> usize
pub fn rns_transport::reverse_table::ReverseTable::new() -> Self
pub fn rns_transport::reverse_table::ReverseTable::remove(&mut self, &[u8; 16]) -> core::option::Option<rns_transport::reverse_table::ReverseEntry>
impl core::default::Default for rns_transport::reverse_table::ReverseTable
pub fn rns_transport::reverse_table::ReverseTable::default() -> Self
pub mod rns_transport::traffic
pub struct rns_transport::traffic::InterfaceTraffic
pub rns_transport::traffic::InterfaceTraffic::rx_bytes: u64
pub rns_transport::traffic::InterfaceTraffic::rx_bytes_prev: u64
pub rns_transport::traffic::InterfaceTraffic::rx_speed: f64
pub rns_transport::traffic::InterfaceTraffic::tx_bytes: u64
pub rns_transport::traffic::InterfaceTraffic::tx_bytes_prev: u64
pub rns_transport::traffic::InterfaceTraffic::tx_speed: f64
pub struct rns_transport::traffic::TrafficCounter
impl rns_transport::traffic::TrafficCounter
pub fn rns_transport::traffic::TrafficCounter::all(&self) -> &std::collections::hash::map::HashMap<rns_transport::messages::InterfaceId, rns_transport::traffic::InterfaceTraffic>
pub fn rns_transport::traffic::TrafficCounter::get(&self, &rns_transport::messages::InterfaceId) -> core::option::Option<&rns_transport::traffic::InterfaceTraffic>
pub fn rns_transport::traffic::TrafficCounter::new() -> Self
pub fn rns_transport::traffic::TrafficCounter::record_rx(&mut self, rns_transport::messages::InterfaceId, u64)
pub fn rns_transport::traffic::TrafficCounter::record_tx(&mut self, rns_transport::messages::InterfaceId, u64)
pub fn rns_transport::traffic::TrafficCounter::update_speeds(&mut self)
impl core::default::Default for rns_transport::traffic::TrafficCounter
pub fn rns_transport::traffic::TrafficCounter::default() -> Self
pub mod rns_transport::tunnel
pub struct rns_transport::tunnel::TunnelEntry
pub rns_transport::tunnel::TunnelEntry::expires: f64
pub rns_transport::tunnel::TunnelEntry::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::tunnel::TunnelEntry::tunnel_id: [u8; 32]
pub rns_transport::tunnel::TunnelEntry::tunnel_paths: std::collections::hash::map::HashMap<[u8; 16], rns_transport::tunnel::TunnelPath>
pub struct rns_transport::tunnel::TunnelPath
pub rns_transport::tunnel::TunnelPath::expires: f64
pub rns_transport::tunnel::TunnelPath::hops: u8
pub rns_transport::tunnel::TunnelPath::next_hop: core::option::Option<[u8; 16]>
pub rns_transport::tunnel::TunnelPath::packet_hash: core::option::Option<[u8; 32]>
pub rns_transport::tunnel::TunnelPath::random_blobs: alloc::vec::Vec<[u8; 10]>
pub rns_transport::tunnel::TunnelPath::timestamp: f64
pub struct rns_transport::tunnel::TunnelSynthesisData
pub rns_transport::tunnel::TunnelSynthesisData::interface_hash: [u8; 32]
pub rns_transport::tunnel::TunnelSynthesisData::public_key: [u8; 64]
pub rns_transport::tunnel::TunnelSynthesisData::random_hash: [u8; 16]
pub rns_transport::tunnel::TunnelSynthesisData::signature: [u8; 64]
impl rns_transport::tunnel::TunnelSynthesisData
pub fn rns_transport::tunnel::TunnelSynthesisData::pack(&self) -> alloc::vec::Vec<u8>
pub fn rns_transport::tunnel::TunnelSynthesisData::tunnel_id(&self) -> [u8; 32]
pub fn rns_transport::tunnel::TunnelSynthesisData::unpack(&[u8]) -> core::option::Option<Self>
pub struct rns_transport::tunnel::TunnelTable
impl rns_transport::tunnel::TunnelTable
pub fn rns_transport::tunnel::TunnelTable::cull_expired(&mut self) -> usize
pub fn rns_transport::tunnel::TunnelTable::cull_expired_batch(&mut self, usize) -> usize
pub fn rns_transport::tunnel::TunnelTable::get(&self, &[u8; 32]) -> core::option::Option<&rns_transport::tunnel::TunnelEntry>
pub fn rns_transport::tunnel::TunnelTable::get_mut(&mut self, &[u8; 32]) -> core::option::Option<&mut rns_transport::tunnel::TunnelEntry>
pub fn rns_transport::tunnel::TunnelTable::get_mut_by_interface(&mut self, rns_transport::messages::InterfaceId) -> core::option::Option<&mut rns_transport::tunnel::TunnelEntry>
pub fn rns_transport::tunnel::TunnelTable::insert(&mut self, rns_transport::tunnel::TunnelEntry)
pub fn rns_transport::tunnel::TunnelTable::is_empty(&self) -> bool
pub fn rns_transport::tunnel::TunnelTable::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&[u8; 32], &rns_transport::tunnel::TunnelEntry)>
pub fn rns_transport::tunnel::TunnelTable::iter_mut(&mut self) -> impl core::iter::traits::iterator::Iterator<Item = (&[u8; 32], &mut rns_transport::tunnel::TunnelEntry)>
pub fn rns_transport::tunnel::TunnelTable::len(&self) -> usize
pub fn rns_transport::tunnel::TunnelTable::new() -> Self
pub fn rns_transport::tunnel::TunnelTable::remove(&mut self, &[u8; 32]) -> core::option::Option<rns_transport::tunnel::TunnelEntry>
pub fn rns_transport::tunnel::TunnelTable::tunnel_paths(&self) -> impl core::iter::traits::iterator::Iterator<Item = (&[u8; 16], &rns_transport::tunnel::TunnelPath)>
impl core::default::Default for rns_transport::tunnel::TunnelTable
pub fn rns_transport::tunnel::TunnelTable::default() -> Self
pub fn rns_transport::tunnel::build_tunnel_synthesis_packet(&rns_identity::identity::Identity, [u8; 32]) -> core::option::Option<alloc::vec::Vec<u8>>
pub fn rns_transport::tunnel::handle_tunnel(&mut rns_transport::tunnel::TunnelTable, [u8; 32], rns_transport::messages::InterfaceId, f64)
pub fn rns_transport::tunnel::interface_hash(&str) -> [u8; 32]
pub enum rns_transport::InterfaceCapacityError
pub rns_transport::InterfaceCapacityError::Empty
pub rns_transport::InterfaceCapacityError::IfacExceedsWire
pub rns_transport::InterfaceCapacityError::IfacExceedsWire::ifac_bytes: usize
pub rns_transport::InterfaceCapacityError::IfacExceedsWire::wire_bytes: u32
pub rns_transport::InterfaceCapacityError::InvalidIfac
pub rns_transport::InterfaceCapacityError::LinkCapacityUnavailable
pub rns_transport::InterfaceCapacityError::LinkCapacityUnavailable::clear_mtu: u32
pub rns_transport::InterfaceCapacityError::LinkCapacityUnavailable::interface_id: rns_transport::messages::InterfaceId
pub rns_transport::InterfaceCapacityError::LinkCapacityUnavailable::required: u32
pub struct rns_transport::InterfaceOwner
impl rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::epoch(&self) -> u64
pub fn rns_transport::interface_ownership::InterfaceOwner::id(&self) -> rns_transport::interface_ownership::InterfaceOwnerId
pub fn rns_transport::interface_ownership::InterfaceOwner::is_current(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::is_registered(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::mark_registered(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceOwner::new() -> Self
pub fn rns_transport::interface_ownership::InterfaceOwner::next_revision(&self) -> core::option::Option<Self>
pub fn rns_transport::interface_ownership::InterfaceOwner::revision(&self) -> u64
impl core::cmp::Eq for rns_transport::interface_ownership::InterfaceOwner
impl core::cmp::PartialEq for rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::eq(&self, &Self) -> bool
impl core::default::Default for rns_transport::interface_ownership::InterfaceOwner
pub fn rns_transport::interface_ownership::InterfaceOwner::default() -> Self
pub struct rns_transport::InterfaceOwnerId
impl rns_transport::interface_ownership::InterfaceOwnerId
pub fn rns_transport::interface_ownership::InterfaceOwnerId::matches(self, &rns_transport::interface_ownership::InterfaceOwner) -> bool
pub struct rns_transport::InterfacePacketCapacity
pub rns_transport::InterfacePacketCapacity::link_mtu_upgrade: bool
pub rns_transport::InterfacePacketCapacity::max_clear_packet_bytes: u32
pub rns_transport::InterfacePacketCapacity::max_wire_packet_bytes: u32
impl rns_transport::interface_ownership::InterfacePacketCapacity
pub const fn rns_transport::interface_ownership::InterfacePacketCapacity::base(u32) -> Self
pub fn rns_transport::interface_ownership::InterfacePacketCapacity::effective_clear_mtu(self, usize) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub fn rns_transport::interface_ownership::InterfacePacketCapacity::link_ceiling(self, rns_transport::messages::InterfaceId, usize) -> core::result::Result<u32, rns_transport::interface_ownership::InterfaceCapacityError>
pub const fn rns_transport::interface_ownership::InterfacePacketCapacity::new(u32, u32, bool) -> Self
pub struct rns_transport::InterfaceTransportSender
impl rns_transport::interface_ownership::InterfaceTransportSender
pub fn rns_transport::interface_ownership::InterfaceTransportSender::actor_sender(&self) -> tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>
pub fn rns_transport::interface_ownership::InterfaceTransportSender::bind(rns_transport::messages::InterfaceId, rns_transport::interface_ownership::InterfaceOwner, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>) -> Self
pub fn rns_transport::interface_ownership::InterfaceTransportSender::capacity(&self) -> usize
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::closed(&self)
pub fn rns_transport::interface_ownership::InterfaceTransportSender::event(&self, rns_transport::messages::TransportMessage) -> rns_transport::messages::TransportMessage
pub fn rns_transport::interface_ownership::InterfaceTransportSender::interface_id(&self) -> rns_transport::messages::InterfaceId
pub fn rns_transport::interface_ownership::InterfaceTransportSender::is_closed(&self) -> bool
pub fn rns_transport::interface_ownership::InterfaceTransportSender::max_capacity(&self) -> usize
pub fn rns_transport::interface_ownership::InterfaceTransportSender::new(rns_transport::messages::InterfaceId, tokio::sync::mpsc::bounded::Sender<rns_transport::messages::TransportMessage>) -> Self
pub fn rns_transport::interface_ownership::InterfaceTransportSender::owner(&self) -> rns_transport::interface_ownership::InterfaceOwner
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::ready(&self) -> bool
pub async fn rns_transport::interface_ownership::InterfaceTransportSender::send(&self, rns_transport::messages::TransportMessage) -> core::result::Result<(), tokio::sync::mpsc::error::SendError<rns_transport::messages::TransportMessage>>
pub fn rns_transport::interface_ownership::InterfaceTransportSender::try_send(&self, rns_transport::messages::TransportMessage) -> core::result::Result<(), tokio::sync::mpsc::error::TrySendError<rns_transport::messages::TransportMessage>>
pub fn rns_transport::now_f64() -> f64
