Weave documentation
Filament referencefilament-transport

filament-transport · announce

Source declarations, signatures and documentation for announce.

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/announce.rs. SHA-256: f03df3e8bf007c7bcc77b6773b7cdb1ab018b3211bb97de39aa48600f7da4976.

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.

announce::Announce

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Announce {
/// Destination hash being announced.

pub destination_hash: DestinationHash,
/// Ed25519 public key (32 bytes).

pub public_key: [u8; 32],
/// Optional application-specific data.

pub app_data: Option<Vec<u8>>,
/// Random blob for uniqueness (16 bytes).

pub random_blob: [u8; 16],
/// Ed25519 signature (64 bytes).

pub signature: [u8; 64],
/// Number of hops traversed.

pub hops: u8
}

Source line: 21.

announce::Announce::new

#[must_use]
pub fn new(
        destination_hash: DestinationHash,
        public_key: [u8; 32],
        app_data: Option<Vec<u8>>,
        random_blob: [u8; 16],
        signature: [u8; 64],
    ) -> Self;

Source line: 44.

announce::Announce::increment_hops

pub fn increment_hops(&mut self);

Source line: 62.

announce::Announce::size

#[must_use]
pub fn size(&self) -> usize;

Source line: 68.

announce::Announce::hash

#[must_use]
pub fn hash(&self) -> [u8; 32];

Source line: 77.

announce::AnnounceQueue

pub struct AnnounceQueue {

}

Source line: 124.

announce::AnnounceQueue::new

#[must_use]
pub fn new(max_size: usize) -> Self;

Source line: 132.

announce::AnnounceQueue::push

pub fn push(&mut self, announce: Announce) -> Result<()>;

Source line: 144.

announce::AnnounceQueue::pop

pub fn pop(&mut self) -> Option<Announce>;

Source line: 164.

announce::AnnounceQueue::len

#[must_use]
pub fn len(&self) -> usize;

Source line: 170.

announce::AnnounceQueue::is_empty

#[must_use]
pub fn is_empty(&self) -> bool;

Source line: 176.

announce::AnnounceQueue::clear

pub fn clear(&mut self);

Source line: 181.

announce::AnnounceManager

pub struct AnnounceManager {

}

Source line: 193.

announce::AnnounceManager::new

#[must_use]
pub fn new(bandwidth_cap: f64) -> Self;

Source line: 217.

announce::AnnounceManager::process_announce

pub async fn process_announce(&self, mut announce: Announce) -> Result<bool>;

Source line: 234.

announce::AnnounceManager::next_announce

pub async fn next_announce(
        &self,
        interface_bitrate: u64,
        elapsed: Duration,
    ) -> Option<Announce>;

Source line: 298.

announce::AnnounceManager::cleanup_cache

pub async fn cleanup_cache(&self);

Source line: 327.

announce::AnnounceManager::queue_len

pub async fn queue_len(&self) -> usize;

Source line: 337.

announce::AnnounceManager::set_max_hops

pub fn set_max_hops(&mut self, max_hops: u8);

Source line: 342.

On this page