Function hyper::ffi::hyper_body_set_data_func[][src]

#[no_mangle]
pub extern "C" fn hyper_body_set_data_func(
    body: *mut hyper_body,
    func: extern "C" fn(_: *mut c_void, _: *mut hyper_context<'_>, _: *mut *mut hyper_buf) -> c_int
)

Set the data callback for this body.

The callback is called each time hyper needs to send more data for the body. It is passed the value from hyper_body_set_userdata.

If there is data available, the hyper_buf ** argument should be set to a hyper_buf * containing the data, and HYPER_POLL_READY should be returned.

Returning HYPER_POLL_READY while the hyper_buf ** argument points to NULL will indicate the body has completed all data.

If there is more data to send, but it isn’t yet available, a hyper_waker should be saved from the hyper_context * argument, and HYPER_POLL_PENDING should be returned. You must wake the saved waker to signal the task when data is available.

If some error has occurred, you can return HYPER_POLL_ERROR to abort the body.