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::ResultAuto 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