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.