#[repr(C)]pub struct uct_iov {
pub buffer: *mut c_void,
pub length: size_t,
pub memh: uct_mem_h,
pub stride: size_t,
pub count: c_uint,
}Expand description
@ingroup UCT_RESOURCE @brief Structure for scatter-gather I/O.
Specifies a list of buffers which can be used within a single data transfer function call.
@verbatim buffer | +———–+—––+———–+—––+———–+ | payload | empty | payload | empty | payload | +———–+—––+———–+—––+———–+ |<-length–>| |<-length–>| |<-length–>| |<–– stride —–>|<–– stride —–>| @endverbatim
@note The sum of lengths in all iov list must be less or equal to max_zcopy of the respective communication operation. @note If @a length or @a count are zero, the memory pointed to by @a buffer will not be accessed. Otherwise, @a buffer must point to valid memory.
@note If @a count is one, every iov entry specifies a single contiguous data block
@note If @a count > 1, each iov entry specifies a strided block of @a count elements and distance of @a stride byte between consecutive elements
Fields§
§buffer: *mut c_void< Data buffer
length: size_t< Length of the payload in bytes
memh: uct_mem_h< Local memory key descriptor for the data
stride: size_t< Stride between beginnings of payload elements in the buffer in bytes
count: c_uint< Number of payload elements in the buffer