Weave documentation
Filament referencefilament-packet

filament-packet · wire

Source declarations, signatures and documentation for wire.

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-packet/src/wire.rs. SHA-256: e114ecc31510b8ea1adf7cca207d60445b0de5fa9372227e356081aabe1c5ab8.

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.

wire::MTU

pub const MTU: usize;

Source line: 7.

wire::MIN_PACKET_SIZE

pub const MIN_PACKET_SIZE: usize;

Source line: 10.

wire::HEADER_SIZE

pub const HEADER_SIZE: usize;

Source line: 13.

wire::DEST_HASH_SIZE

pub const DEST_HASH_SIZE: usize;

Source line: 16.

pub const LINK_ID_SIZE: usize;

Source line: 19.

wire::MIN_IFAC_SIZE

pub const MIN_IFAC_SIZE: usize;

Source line: 22.

wire::MAX_IFAC_SIZE

pub const MAX_IFAC_SIZE: usize;

Source line: 25.

wire::CONTEXT_SIZE

pub const CONTEXT_SIZE: usize;

Source line: 28.

wire::MAX_HOP_COUNT

pub const MAX_HOP_COUNT: u8;

Source line: 31.

wire::IFAC_FLAG_BIT

pub const IFAC_FLAG_BIT: u8;

Source line: 35.

wire::IFAC_FLAG

pub const IFAC_FLAG: u8;

Source line: 37.

wire::HEADER_TYPE_BIT

pub const HEADER_TYPE_BIT: u8;

Source line: 40.

wire::HEADER_TYPE

pub const HEADER_TYPE: u8;

Source line: 42.

wire::CONTEXT_FLAG_BIT

pub const CONTEXT_FLAG_BIT: u8;

Source line: 45.

wire::CONTEXT_FLAG

pub const CONTEXT_FLAG: u8;

Source line: 47.

wire::PROPAGATION_TYPE_BIT

pub const PROPAGATION_TYPE_BIT: u8;

Source line: 50.

wire::PROPAGATION_TYPE

pub const PROPAGATION_TYPE: u8;

Source line: 52.

wire::DESTINATION_TYPE_MASK

pub const DESTINATION_TYPE_MASK: u8;

Source line: 55.

wire::DESTINATION_TYPE_SHIFT

pub const DESTINATION_TYPE_SHIFT: u8;

Source line: 57.

wire::PACKET_TYPE_MASK

pub const PACKET_TYPE_MASK: u8;

Source line: 60.

wire::PacketType

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum PacketType {
    /// Data packet (00).
    Data = 0b00,
    /// Announce packet (01).
    Announce = 0b01,
    /// Link request packet (10).
    LinkRequest = 0b10,
    /// Proof packet (11).
    Proof = 0b11,
}

Source line: 65.

wire::PacketType::from_header_byte

#[inline]
pub const fn from_header_byte(byte: u8) -> Option<Self>;

Source line: 79.

wire::PacketType::to_bits

#[inline]
pub const fn to_bits(self) -> u8;

Source line: 91.

wire::DestinationType

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum DestinationType {
    /// Single destination (encrypted, private key) (00).
    Single = 0b00,
    /// Group destination (symmetric key) (01).
    Group = 0b01,
    /// Plain destination (unencrypted broadcast) (10).
    Plain = 0b10,
    /// Link destination (encrypted channel) (11).
    Link = 0b11,
}

Source line: 99.

wire::DestinationType::from_header_byte

#[inline]
pub const fn from_header_byte(byte: u8) -> Option<Self>;

Source line: 113.

wire::DestinationType::to_bits

#[inline]
pub const fn to_bits(self) -> u8;

Source line: 125.

wire::PropagationType

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum PropagationType {
    /// Broadcast propagation (0).
    Broadcast = 0,
    /// Transport (multi-hop) propagation (1).
    Transport = 1,
}

Source line: 133.

wire::PropagationType::from_header_byte

#[inline]
pub const fn from_header_byte(byte: u8) -> Self;

Source line: 143.

wire::PropagationType::to_bits

#[inline]
pub const fn to_bits(self) -> u8;

Source line: 153.

wire::HeaderType

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum HeaderType {
    /// Header 1: 16-byte single address (0).
    Header1 = 0,
    /// Header 2: 32-byte dual address (1).
    Header2 = 1,
}

Source line: 161.

wire::HeaderType::from_header_byte

#[inline]
pub const fn from_header_byte(byte: u8) -> Self;

Source line: 171.

wire::HeaderType::to_bits

#[inline]
pub const fn to_bits(self) -> u8;

Source line: 181.

wire::HeaderType::address_size

#[inline]
pub const fn address_size(self) -> usize;

Source line: 187.

On this page