Weave documentation
Filament referencefilament-link

filament-link · link

Source declarations, signatures and documentation for link.

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-link/src/link.rs. SHA-256: 0f524251ac3f4525fbae01a4675bd8be986d31949a0abf5d555c7feb3bab43b3.

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.

link::LinkId

pub type LinkId = [u8; 16];

Source line: 22.

pub struct Link {

}

Source line: 28.

link::LinkOptions

#[derive(Debug, Clone)]
pub struct LinkOptions {
/// Configuration

pub config: LinkConfig,
/// Enable keepalive

pub keepalive_enabled: bool,
/// Request proof of delivery

pub request_proof: bool
}

Source line: 74.

link::Link::establish

pub async fn establish(
        identity: Identity,
        destination: DestinationHash,
        options: LinkOptions,
    ) -> Result<Self>;

Source line: 109.

link::Link::accept

pub async fn accept(
        identity: Identity,
        request: LinkRequest,
        options: LinkOptions,
    ) -> Result<Self>;

Source line: 158.

link::Link::handle_proof

pub async fn handle_proof(
        &self,
        proof: LinkProof,
        responder_identity: &PublicIdentity,
    ) -> Result<()>;

Source line: 224.

link::Link::send

pub async fn send(&self, data: &[u8]) -> Result<()>;

Source line: 270.

link::Link::recv

pub async fn recv(&self) -> Result<Option<ChannelMessage>>;

Source line: 301.

link::Link::recv_timeout

pub async fn recv_timeout(&self, timeout: Duration) -> Result<Option<ChannelMessage>>;

Source line: 307.

link::Link::handle_data

pub async fn handle_data(&self, encrypted: &[u8]) -> Result<()>;

Source line: 321.

link::Link::is_active

pub async fn is_active(&self) -> bool;

Source line: 347.

link::Link::is_established

pub async fn is_established(&self) -> bool;

Source line: 352.

link::Link::id

pub fn id(&self) -> LinkId;

Source line: 357.

link::Link::remote_destination

pub fn remote_destination(&self) -> DestinationHash;

Source line: 362.

link::Link::state

pub async fn state(&self) -> LinkState;

Source line: 367.

link::Link::close

pub async fn close(&self) -> Result<()>;

Source line: 372.

link::Link::keepalive_due

pub async fn keepalive_due(&self) -> bool;

Source line: 379.

link::Link::send_keepalive

pub async fn send_keepalive(&self) -> Result<()>;

Source line: 384.

link::Link::is_alive

pub async fn is_alive(&self) -> bool;

Source line: 392.

link::Link::create_resource

pub fn create_resource(
        &self,
        size: u64,
        options: crate::resource::ResourceOptions,
    ) -> Resource;

Source line: 402.

On this page