pub type uct_iov_t = uct_iov;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
Aliased Type§
struct uct_iov_t {
pub buffer: *mut c_void,
pub length: u32,
pub memh: *mut c_void,
pub stride: u32,
pub count: u32,
}Fields§
§buffer: *mut c_void< Data buffer
length: u32< Length of the payload in bytes
memh: *mut c_void< Local memory key descriptor for the data
stride: u32< Stride between beginnings of payload elements in the buffer in bytes
count: u32< Number of payload elements in the buffer