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.