Struct uct_tag_context

Source
#[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

Source§

fn clone(&self) -> uct_tag_context

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for uct_tag_context

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for uct_tag_context

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.