#[repr(C)]pub struct uct_tag_context {
pub tag_consumed_cb: Option<unsafe extern "C" fn(self_: *mut uct_tag_context_t)>,
pub completed_cb: Option<unsafe extern "C" fn(self_: *mut uct_tag_context_t, stag: uct_tag_t, imm: u64, length: size_t, inline_data: *mut c_void, status: ucs_status_t)>,
pub rndv_cb: Option<unsafe extern "C" fn(self_: *mut uct_tag_context_t, stag: uct_tag_t, header: *const c_void, header_length: c_uint, status: ucs_status_t, flags: c_uint)>,
pub priv_: [c_char; 32],
}Expand description
@ingroup UCT_TAG @brief Posted tag context.
Tag context is an object which tracks a tag posted to the transport. It contains callbacks for matching events on this tag.
Fields§
§tag_consumed_cb: Option<unsafe extern "C" fn(self_: *mut uct_tag_context_t)>Tag is consumed by the transport and should not be matched in software.
@param [in] self Pointer to relevant context structure, which was initially passed to @ref uct_iface_tag_recv_zcopy.
completed_cb: Option<unsafe extern "C" fn(self_: *mut uct_tag_context_t, stag: uct_tag_t, imm: u64, length: size_t, inline_data: *mut c_void, status: ucs_status_t)>Tag processing is completed by the transport.
@param [in] self Pointer to relevant context structure, which was initially passed to @ref uct_iface_tag_recv_zcopy. @param [in] stag Tag from sender. @param [in] imm Immediate data from sender. For rendezvous, it’s always 0. @param [in] length Completed length. @param [in] inline_data If non-null, points to a temporary buffer which contains the received data. In this case the received data was not placed directly in the receive buffer. This callback routine is responsible for copy-out the inline data, otherwise it is released. @param [in] status Completion status: (a) UCS_OK - Success, data placed in provided buffer. (b) UCS_ERR_TRUNCATED - Sender’s length exceed posted buffer, no data is copied. (c) UCS_ERR_CANCELED - Canceled by user.
rndv_cb: Option<unsafe extern "C" fn(self_: *mut uct_tag_context_t, stag: uct_tag_t, header: *const c_void, header_length: c_uint, status: ucs_status_t, flags: c_uint)>Tag was matched by a rendezvous request, which should be completed by the protocol layer.
@param [in] self Pointer to relevant context structure, which was initially passed to @ref uct_iface_tag_recv_zcopy. @param [in] stag Tag from sender. @param [in] header User defined header. @param [in] header_length User defined header length in bytes. @param [in] status Completion status. @param [in] flags Flags defined by UCT_TAG_RECV_CB_xx.
priv_: [c_char; 32]A placeholder for the private data used by the transport
Trait Implementations§
Source§impl Clone for uct_tag_context
impl Clone for uct_tag_context
Source§fn clone(&self) -> uct_tag_context
fn clone(&self) -> uct_tag_context
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more