Weave documentation
Filament referencefilament-interfaces

filament-interfaces · auto

Source declarations, signatures and documentation for auto.

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-interfaces/src/auto.rs. SHA-256: 829ce204e802c92adbc1c1ed34a0db689db8b94d52ec675967b2aba9b2cfae95.

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.

auto::DiscoveryScope

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DiscoveryScope {
    /// Link-local scope (same physical network)
    Link = 2,
    /// Admin-local scope (administratively scoped)
    Admin = 4,
    /// Site-local scope (same site)
    Site = 5,
    /// Organization-local scope (same organization)
    Organization = 8,
    /// Global scope (Internet-wide)
    Global = 14,
}

Source line: 19.

auto::AutoInterfaceConfig

#[derive(Debug, Clone)]
pub struct AutoInterfaceConfig {
/// Group ID for network isolation

pub group_id: String,
/// Discovery scope

pub scope: DiscoveryScope,
/// Data port for packet transmission

pub data_port: u16,
/// Discovery port for peer discovery

pub discovery_port: u16,
/// Interface mode

pub mode: InterfaceMode,
/// Specific network devices to use (None = all)

pub devices: Option<Vec<String>>,
/// Network devices to ignore

pub ignored_devices: Option<Vec<String>>,
/// Peer discovery interval

pub discovery_interval: Duration,
/// Optional IFAC authentication

pub ifac: Option<IFAC>
}

Source line: 40.

auto::AutoInterfaceBuilder

pub struct AutoInterfaceBuilder {

}

Source line: 78.

auto::AutoInterfaceBuilder::new

pub fn new() -> Self;

Source line: 84.

auto::AutoInterfaceBuilder::group_id

pub fn group_id(mut self, group_id: impl Into<String>) -> Self;

Source line: 91.

auto::AutoInterfaceBuilder::scope

pub fn scope(mut self, scope: DiscoveryScope) -> Self;

Source line: 97.

auto::AutoInterfaceBuilder::data_port

pub fn data_port(mut self, port: u16) -> Self;

Source line: 103.

auto::AutoInterfaceBuilder::discovery_port

pub fn discovery_port(mut self, port: u16) -> Self;

Source line: 109.

auto::AutoInterfaceBuilder::mode

pub fn mode(mut self, mode: InterfaceMode) -> Self;

Source line: 115.

auto::AutoInterfaceBuilder::devices

pub fn devices(mut self, devices: Vec<String>) -> Self;

Source line: 121.

auto::AutoInterfaceBuilder::ignored_devices

pub fn ignored_devices(mut self, devices: Vec<String>) -> Self;

Source line: 127.

auto::AutoInterfaceBuilder::discovery_interval

pub fn discovery_interval(mut self, interval: Duration) -> Self;

Source line: 133.

auto::AutoInterfaceBuilder::ifac

pub fn ifac(mut self, ifac: IFAC) -> Self;

Source line: 139.

auto::AutoInterfaceBuilder::build

pub async fn build(self) -> Result<AutoInterface, InterfaceError>;

Source line: 145.

auto::AutoInterface

pub struct AutoInterface {

}

Source line: 194.

auto::AutoInterface::new

pub async fn new(config: AutoInterfaceConfig) -> Result<Self, InterfaceError>;

Source line: 200.

auto::AutoInterface::builder

pub fn builder() -> AutoInterfaceBuilder;

Source line: 240.

auto::AutoInterface::discovered_peers

pub async fn discovered_peers(&self) -> Vec<SocketAddrV6>;

Source line: 415.

On this page