Public Member Functions | Public Attributes | List of all members
ucxx::AmSendParams Struct Reference

Parameters controlling Active Message send behavior. More...

#include <typedefs.h>

Public Member Functions

void setUserHeader (const void *data, size_t size)
 Set opaque user header bytes from raw pointer. More...
 
void setUserHeader (std::string_view data)
 Convenience overload to set user header from string-like views. More...
 

Public Attributes

uint32_t flags {UCP_AM_SEND_FLAG_REPLY}
 UCP AM send flags.
 
ucp_datatype_t datatype {ucp_dt_make_contig(1)}
 Datatype used by ucp_am_send_nbx.
 
ucs_memory_type_t memoryType {UCS_MEMORY_TYPE_HOST}
 Sender memory type hint.
 
AmSendMemoryTypePolicy memoryTypePolicy
 Receiver allocation policy. More...
 
std::optional< AmReceiverCallbackInforeceiverCallbackInfo
 Optional receiver callback metadata. More...
 
std::vector< std::byte > userHeader {}
 

Detailed Description

Parameters controlling Active Message send behavior.

This object is used by the extended Active Message API to expose UCX send knobs without breaking existing callers.

Member Function Documentation

◆ setUserHeader() [1/2]

void ucxx::AmSendParams::setUserHeader ( const void *  data,
size_t  size 
)
inline

Set opaque user header bytes from raw pointer.

Parameters
[in]datapointer to input bytes, may be nullptr iff size == 0.
[in]sizenumber of bytes in input.

◆ setUserHeader() [2/2]

void ucxx::AmSendParams::setUserHeader ( std::string_view  data)
inline

Convenience overload to set user header from string-like views.

Parameters
[in]dataview of opaque bytes.

Member Data Documentation

◆ memoryTypePolicy

AmSendMemoryTypePolicy ucxx::AmSendParams::memoryTypePolicy
Initial value:
{
@ FallbackToHost
If no allocator exists for memory type, fallback to host memory.

Receiver allocation policy.

◆ receiverCallbackInfo

std::optional<AmReceiverCallbackInfo> ucxx::AmSendParams::receiverCallbackInfo
Initial value:
{
std::nullopt}

Optional receiver callback metadata.

◆ userHeader

std::vector<std::byte> ucxx::AmSendParams::userHeader {}

Opaque user-defined header bytes. This is serialized into the AM header parameter of ucp_am_send_nbx, which is subject to transport-level size limits. For TCP, the default segment size is ~8 KiB (UCX_TCP_TX_SEG_SIZE / UCX_TCP_RX_SEG_SIZE). Headers that exceed the transport limit will cause a fatal UCX error. Keep user headers small (recommended < 4 KiB) or increase segment size env vars as needed.


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