UCX  1.8
Unified Communication X

Posted tag context. More...

Data Fields

void(* tag_consumed_cb )(uct_tag_context_t *self)
 
void(* completed_cb )(uct_tag_context_t *self, uct_tag_t stag, uint64_t imm, size_t length, ucs_status_t status)
 
void(* rndv_cb )(uct_tag_context_t *self, uct_tag_t stag, const void *header, unsigned header_length, ucs_status_t status)
 
char priv [UCT_TAG_PRIV_LEN]
 

Detailed Description

Tag context is an object which tracks a tag posted to the transport. It contains callbacks for matching events on this tag.

Field Documentation

◆ tag_consumed_cb

void(* uct_tag_context::tag_consumed_cb) (uct_tag_context_t *self)

Tag is consumed by the transport and should not be matched in software.

Parameters
[in]selfPointer to relevant context structure, which was initially passed to uct_iface_tag_recv_zcopy.

◆ completed_cb

void(* uct_tag_context::completed_cb) (uct_tag_context_t *self, uct_tag_t stag, uint64_t imm, size_t length, ucs_status_t status)

Tag processing is completed by the transport.

Parameters
[in]selfPointer to relevant context structure, which was initially passed to uct_iface_tag_recv_zcopy.
[in]stagTag from sender.
[in]immImmediate data from sender. For rendezvous, it's always 0.
[in]lengthCompleted length.
[in]statusCompletion 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

void(* uct_tag_context::rndv_cb) (uct_tag_context_t *self, uct_tag_t stag, const void *header, unsigned header_length, ucs_status_t status)

Tag was matched by a rendezvous request, which should be completed by the protocol layer.

Parameters
[in]selfPointer to relevant context structure, which was initially passed to uct_iface_tag_recv_zcopy.
[in]stagTag from sender.
[in]headerUser defined header.
[in]header_lengthUser defined header length in bytes.
[in]statusCompletion status.

◆ priv

char uct_tag_context::priv[UCT_TAG_PRIV_LEN]

A placeholder for the private data used by the transport


The documentation for this struct was generated from the following file: