public interface UcpAmRecvCallback
UcpEndpoint.sendAmNonBlocking(int, long, long, long, long, long, org.openucx.jucx.UcxCallback, int)
routine.
The callback is always called from the progress context, therefore calling
UcpWorker.progress() is not allowed. It is recommended to define
callbacks with relatively short execution time to avoid blocking of
communication progress.| Modifier and Type | Method and Description |
|---|---|
int |
onReceive(long headerAddress,
long headerSize,
UcpAmData amData,
UcpEndpoint replyEp)
The callback is always called from the progress context, therefore calling
UcpWorker.progress() is not allowed. |
int onReceive(long headerAddress,
long headerSize,
UcpAmData amData,
UcpEndpoint replyEp)
UcpWorker.progress() is not allowed. It is recommended to define
callbacks with relatively short execution time to avoid blocking of communication progress.headerAddress - - User defined active message header. Can be 0.headerSize - - Active message header length in bytes. If this
value is 0, the headerAddress is undefined and should not be accessed.amData - - Points to UcpAmData wrapper that has whether received data or
data descriptor to receive in UcpWorker.recvAmDataNonBlocking(long, long, long, org.openucx.jucx.UcxCallback, int)replyEp - - Endpoint, which can be used for reply to this message.UcsConstants.STATUS.UCS_OK -
data will not persist after the callback returns.
UcsConstants.STATUS.UCS_INPROGRESS -
The data will persist after the callback has returned.
To free the memory, need to call UcpAmData.close()Copyright © 2021. All rights reserved.