Silk

silk/buffered_transfer

Profiles: aarch64-apple-darwin, aarch64-unknown-linux-gnu, aarch64-unknown-linux-gnu-no-libc, wasm32-unknown-unknown, x86_64-unknown-linux-gnu, x86_64-unknown-linux-gnu-no-libc.

Bounded byte transfer coupled to retained input and exact-prefix buffered output.

Import as BufferedTransfer with import silk.buffered_transfer { BufferedTransfer }.

Public declarations: 2.

TransferOutcome

pub struct TransferOutcome

One finite transfer result.

Field count

pub count: usize

The exact destination-accepted and source-consumed count.

Field endObserved

pub endObserved: bool

True only when the operation actually observed source end.

BufferedTransfer

pub struct BufferedTransfer

The owner of bounded exact-prefix transfer operations.

Associated function BufferedTransfer.transferAtMost

pub effect<'life4 & 'life5> fn transferAtMost<'source: 'life4 & 'life5, 'destination: 'life4 & 'life5, SP: 'life4 & 'life5, DP: 'life4 & 'life5, 'life4, 'life5>(source: &'life4 mut silk/buffered_duplex.BufferedDuplex<'source, SP>, destination: &'life5 mut silk/buffered_duplex.BufferedDuplex<'destination, DP>, limit: usize, deadline: silk/option.Option<silk/system_clock.Instant>) -> TransferOutcome ! BufferError ? &mut MonotonicClock where &mut SP provides &ByteDuplex from &mut ByteDuplex | &mut MonotonicClock, &mut DP provides &ByteDuplex from &mut ByteDuplex | &mut MonotonicClock

Transfers no more than limit, consuming only destination-accepted bytes.

Associated function BufferedTransfer.transferExact

pub effect<'life4 & 'life5> fn transferExact<'source: 'life4 & 'life5, 'destination: 'life4 & 'life5, SP: 'life4 & 'life5, DP: 'life4 & 'life5, 'life4, 'life5>(source: &'life4 mut silk/buffered_duplex.BufferedDuplex<'source, SP>, destination: &'life5 mut silk/buffered_duplex.BufferedDuplex<'destination, DP>, count: usize, deadline: silk/option.Option<silk/system_clock.Instant>) -> () ! BufferError ? &mut MonotonicClock where &mut SP provides &ByteDuplex from &mut ByteDuplex | &mut MonotonicClock, &mut DP provides &ByteDuplex from &mut ByteDuplex | &mut MonotonicClock

Transfers exactly count bytes or reports early end with the transferred prefix.

On this page