Type Alias uct_iface_params_t

Source
pub type uct_iface_params_t = uct_iface_params;
Expand description

@ingroup UCT_RESOURCE @brief Parameters used for interface creation.

This structure should be allocated by the user and should be passed to @ref uct_iface_open. User has to initialize all fields of this structure.

Aliased Type§

struct uct_iface_params_t {
Show 18 fields pub field_mask: u64, pub cpu_mask: ucs_cpu_set_t, pub open_mode: u64, pub mode: uct_iface_params__bindgen_ty_1, pub stats_root: *mut ucs_stats_node, pub rx_headroom: u32, pub err_handler_arg: *mut c_void, pub err_handler: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut uct_ep, _: ucs_status_t) -> ucs_status_t>, pub err_handler_flags: u32, pub eager_arg: *mut c_void, pub eager_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut c_void, _: u32, _: u32, _: u64, _: u64, _: *mut *mut c_void) -> ucs_status_t>, pub rndv_arg: *mut c_void, pub rndv_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: u32, _: u64, _: *const c_void, _: u32, _: u64, _: u32, _: *const c_void) -> ucs_status_t>, pub async_event_arg: *mut c_void, pub async_event_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: u32)>, pub keepalive_interval: u32, pub am_alignment: u32, pub am_align_offset: u32,
}

Fields§

§field_mask: u64

Mask of valid fields in this structure, using bits from @ref uct_iface_params_field. Fields not specified in this mask will be ignored.

§cpu_mask: ucs_cpu_set_t

Mask of CPUs to use for resources

§open_mode: u64

Interface open mode bitmap. @ref uct_iface_open_mode

§mode: uct_iface_params__bindgen_ty_1§stats_root: *mut ucs_stats_node

Root in the statistics tree. Can be NULL. If non NULL, it will be a root of @a uct_iface object in the statistics tree.

§rx_headroom: u32

How much bytes to reserve before the receive segment.

§err_handler_arg: *mut c_void

Custom argument of @a err_handler.

§err_handler: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut uct_ep, _: ucs_status_t) -> ucs_status_t>

The callback to handle transport level error.

§err_handler_flags: u32

Callback flags to indicate where the @a err_handler callback can be invoked from. @ref uct_cb_flags

§eager_arg: *mut c_void

These callbacks are only relevant for HW Tag Matching

§eager_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut c_void, _: u32, _: u32, _: u64, _: u64, _: *mut *mut c_void) -> ucs_status_t>

Callback for tag matching unexpected eager messages

§rndv_arg: *mut c_void§rndv_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: u32, _: u64, _: *const c_void, _: u32, _: u64, _: u32, _: *const c_void) -> ucs_status_t>

Callback for tag matching unexpected rndv messages

§async_event_arg: *mut c_void§async_event_cb: Option<unsafe extern "C" fn(_: *mut c_void, _: u32)>

Callback for asynchronous event handling. The callback will be invoked from UCT transport when there are new events to be read by user if the iface has @ref UCT_IFACE_FLAG_EVENT_ASYNC_CB capability

§keepalive_interval: u32§am_alignment: u32

Desired alignment for Active Messages on the receiver. Note that only data received in the UCT descriptor can be aligned (i.e. @a UCT_CB_PARAM_FLAG_DESC flag is provided in the Active Message handler callback). The provided value must be power of 2. The default value is 1.

§am_align_offset: u32

Offset in the Active Message receive buffer, which should be aligned to the @a am_alignment boundary. Note this parameter has no effect without setting @a am_alignment parameter. The provided value must be less than the given @a am_alignment value. The default value is 0.

+-+ pointer to @a data in @ref uct_am_callback_t | | + alignment boundary | | v v +—————––+ | align | | | offset | | +—————––+