Struct curl::easy::Transfer
pub struct Transfer<'easy, 'data> { /* fields hidden */ }
Documentation
A scoped transfer of information which borrows an Easy
and allows
referencing stack-local data of the lifetime 'data
.
Usage of Easy
requires the 'static
and Send
bounds on all callbacks
registered, but that’s not often wanted if all you need is to collect a
bunch of data in memory to a vector, for example. The Transfer
structure,
created by the Easy::transfer
method, is used for this sort of request.
The callbacks attached to a Transfer
are only active for that one transfer
object, and they allow to elide both the Send
and 'static
bounds to
close over stack-local information.
Implementations
impl<'easy, 'data> Transfer<'easy, 'data>
pub fn write_function<F>(&mut Self, f: F) -> Result<(), Error>
where
F: FnMut(&[u8]) -> Result<usize, WriteError> + 'data
where
F: FnMut(&[u8]) -> Result<usize, WriteError> + 'data
Same as Easy::write_function
, just takes a non 'static
lifetime
corresponding to the lifetime of this transfer.
pub fn seek_function<F>(&mut Self, f: F) -> Result<(), Error>
where
F: FnMut(SeekFrom) -> SeekResult + 'data
where
F: FnMut(SeekFrom) -> SeekResult + 'data
Same as Easy::seek_function
, just takes a non 'static
lifetime
corresponding to the lifetime of this transfer.
pub fn progress_function<F>(&mut Self, f: F) -> Result<(), Error>
where
F: FnMut(f64, f64, f64, f64) -> bool + 'data
where
F: FnMut(f64, f64, f64, f64) -> bool + 'data
Same as Easy::progress_function
, just takes a non 'static
lifetime
corresponding to the lifetime of this transfer.
pub fn debug_function<F>(&mut Self, f: F) -> Result<(), Error>
where
F: FnMut(InfoType, &[u8]) + 'data
where
F: FnMut(InfoType, &[u8]) + 'data
Same as Easy::debug_function
, just takes a non 'static
lifetime
corresponding to the lifetime of this transfer.
pub fn header_function<F>(&mut Self, f: F) -> Result<(), Error>
where
F: FnMut(&[u8]) -> bool + 'data
where
F: FnMut(&[u8]) -> bool + 'data
Same as Easy::header_function
, just takes a non 'static
lifetime
corresponding to the lifetime of this transfer.
pub fn unpause_read(&Self) -> Result<(), Error>
Same as Easy::unpause_read
.
pub fn unpause_write(&Self) -> Result<(), Error>
Same as Easy::unpause_write
Trait Implementations
impl<'easy, 'data> Debug for Transfer<'easy, 'data>
fn fmt(&Self, f: &mut fmt::Formatter<'_>) -> fmt::Result
Auto Trait Implementations
impl<'easy, 'data> !RefUnwindSafe for Transfer<'easy, 'data>
impl<'easy, 'data> !UnwindSafe for Transfer<'easy, 'data>
Blanket Implementations
impl<T> BorrowMut<T> for T
where
T: ?Sized,
where
T: ?Sized,
fn borrow_mut(&mut Self) -> &mut T