Weave documentation
Filament referencefilament-link

filament-link · resource

Source declarations, signatures and documentation for resource.

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/resource.rs. SHA-256: 9250d731fabb7cb5430e04f3f06f7d383b21e0512cc500672cba4cb701493c97.

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.

resource::ResourceOptions

#[derive(Debug, Clone)]
pub struct ResourceOptions {
/// Chunk size for transfer (bytes)

pub chunk_size: usize,
/// Enable compression

pub compress: bool,
/// Request proof of delivery for each chunk

pub request_proof: bool,
/// Maximum retries per chunk

pub max_retries: u8,
/// Transfer timeout (seconds)

pub timeout_secs: u64
}

Source line: 14.

resource::ResourceProgress

#[derive(Debug, Clone)]
pub struct ResourceProgress {
/// Total size in bytes

pub total_bytes: u64,
/// Bytes transferred so far

pub bytes_sent: u64,
/// Number of chunks

pub total_chunks: u64,
/// Chunks transferred

pub chunks_sent: u64,
/// Transfer speed (bytes/sec)

pub speed_bps: f64,
/// Estimated time remaining (seconds)

pub eta_secs: f64
}

Source line: 45.

resource::ResourceProgress::percent

pub fn percent(&self) -> f64;

Source line: 67.

resource::ResourceProgress::is_complete

pub fn is_complete(&self) -> bool;

Source line: 75.

resource::Resource

pub struct Resource {

}

Source line: 81.

resource::Resource::new

pub fn new(total_size: u64, options: ResourceOptions) -> Self;

Source line: 112.

resource::Resource::total_chunks

pub fn total_chunks(&self) -> u64;

Source line: 129.

resource::Resource::send_chunk

pub async fn send_chunk(&self, chunk: &[u8], _chunk_index: u64) -> Result<()>;

Source line: 139.

resource::Resource::progress

pub fn progress(&self) -> Arc<Mutex<mpsc::UnboundedReceiver<ResourceProgress>>>;

Source line: 176.

resource::Resource::current_progress

pub async fn current_progress(&self) -> ResourceProgress;

Source line: 181.

resource::Resource::transfer

pub async fn transfer<R, F>(&self, mut reader: R, mut send_fn: F) -> Result<()>
    where
        R: Read,
        F: FnMut(&[u8]) -> Result<()>,;

Source line: 213.

resource::Resource::receive

pub async fn receive<W, F>(&self, mut writer: W, mut recv_fn: F) -> Result<()>
    where
        W: Write,
        F: FnMut() -> Result<Vec<u8>>,;

Source line: 270.

On this page