Weave documentation
Filament referencefilament-transport

filament-transport · modes

Source declarations, signatures and documentation for modes.

Read the current implementation boundaries before integration. This reference reproduces declarations; it omits source comments whose examples or readiness claims have not been verified.

Source: sigil/weave/filament/filament-transport/src/modes.rs. SHA-256: ebcf9447f707cb9e24dd930990513b7b7a5cc99d031c9235def2800a8e24537f.

This reference follows declared source modules, retains conditional attributes, and includes public declarations and implementation methods. Private-module re-exports and trait resolution require the compiler; this is a source reference, not a claim that every listed item is a root import. Function bodies and constant values are omitted.

modes::InterfaceMode

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum InterfaceMode {
    /// Full mode: All discovery, meshing, and transport functionality.
    ///
    /// Interfaces in this mode:
    /// - Participate in peer discovery
    /// - Forward announces according to propagation rules
    /// - Maintain routing table entries
    /// - Respond to path requests
    Full,

    /// Gateway mode: Full mode plus path discovery for downstream nodes.
    ///
    /// Additionally:
    /// - Responds to path requests on behalf of downstream nodes
    /// - Acts as entry/exit point for network segments
    Gateway,

    /// Access Point mode: Quiet until activity, short-lived paths.
    ///
    /// Characteristics:
    /// - Doesn't actively announce presence
    /// - Maintains shorter path expiry times
    /// - Gateway-like discovery behavior
    /// - Useful for mobile/temporary connections
    AccessPoint,

    /// Roaming mode: For mobile interfaces, faster path expiry.
    ///
    /// Characteristics:
    /// - Faster path table entry expiration
    /// - More frequent re-announcement
    /// - Optimized for changing network topology
    Roaming,

    /// Boundary mode: Marks connections to significantly different network segments.
    ///
    /// Characteristics:
    /// - Indicates crossing to different network domain
    /// - May apply different routing policies
    /// - Can limit announce propagation
    Boundary,
}

Source line: 11.

modes::InterfaceMode::supports_transport

#[must_use]
pub const fn supports_transport(self) -> bool;

Source line: 57.

modes::InterfaceMode::supports_discovery

#[must_use]
pub const fn supports_discovery(self) -> bool;

Source line: 63.

modes::InterfaceMode::path_expiry_multiplier

#[must_use]
pub const fn path_expiry_multiplier(self) -> f32;

Source line: 74.

modes::InterfaceMode::is_gateway

#[must_use]
pub const fn is_gateway(self) -> bool;

Source line: 84.

On this page