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: u64Mask 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_tMask of CPUs to use for resources
open_mode: u64Interface open mode bitmap. @ref uct_iface_open_mode
mode: uct_iface_params__bindgen_ty_1§stats_root: *mut ucs_stats_nodeRoot 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: u32How much bytes to reserve before the receive segment.
err_handler_arg: *mut c_voidCustom 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: u32Callback flags to indicate where the @a err_handler callback can be invoked from. @ref uct_cb_flags
eager_arg: *mut c_voidThese 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: u32Desired 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: u32Offset 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 | | +—————––+