Type Alias uct_iov_t

Source
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