Struct curl::easy::Transfer
[−]
[src]
pub struct Transfer<'easy, 'data> {
// some fields omitted
}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're allows to elide both the Send and 'static bounds to
close over stack-local information.
Methods
impl<'easy, 'data> Transfer<'easy, 'data>
fn write_function<F>(&mut self, f: F) -> Result<(), Error> 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.
fn read_function<F>(&mut self, f: F) -> Result<(), Error> where F: FnMut(&mut [u8]) -> Result<usize, ReadError> + 'data
Same as Easy::read_function, just takes a non 'static lifetime
corresponding to the lifetime of this transfer.
fn seek_function<F>(&mut self, f: F) -> Result<(), Error> where F: FnMut(SeekFrom) -> SeekResult + 'data
Same as Easy::seek_function, just takes a non 'static lifetime
corresponding to the lifetime of this transfer.
fn progress_function<F>(&mut self, f: F) -> Result<(), Error> 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.
fn debug_function<F>(&mut self, f: F) -> Result<(), Error> where F: FnMut(InfoType, &[u8]) + 'data
Same as Easy::debug_function, just takes a non 'static lifetime
corresponding to the lifetime of this transfer.
fn header_function<F>(&mut self, f: F) -> Result<(), Error> where F: FnMut(&[u8]) -> bool + 'data
Same as Easy::header_function, just takes a non 'static lifetime
corresponding to the lifetime of this transfer.
fn perform(&self) -> Result<(), Error>
Same as Easy::transfer.
fn unpause_read(&self) -> Result<(), Error>
Same as Easy::unpause_read.
fn unpause_write(&self) -> Result<(), Error>
Same as Easy::unpause_write