public class UcpEndpoint extends UcxNativeStruct implements Closeable
| Constructor and Description |
|---|
UcpEndpoint(UcpWorker worker,
UcpEndpointParams params) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
UcpRequest |
closeNonBlockingFlush()
Releases the endpoint by scheduling flushes on all outstanding operations.
|
UcpRequest |
closeNonBlockingForce()
Releases the endpoint without any confirmation from the peer.
|
UcpRequest |
flushNonBlocking(UcxCallback callback)
This routine flushes all outstanding AMO and RMA communications on this endpoint.
|
UcpRequest |
getNonBlocking(long remoteAddress,
UcpRemoteKey remoteKey,
ByteBuffer dst,
UcxCallback callback)
Non-blocking remote memory get operation.
|
UcpRequest |
getNonBlocking(long remoteAddress,
UcpRemoteKey remoteKey,
long localAddress,
long size,
UcxCallback callback) |
UcpRequest |
getNonBlocking(long remoteAddress,
UcpRemoteKey remoteKey,
long localAddress,
long size,
UcxCallback callback,
int memoryType) |
void |
getNonBlockingImplicit(long remoteAddress,
UcpRemoteKey remoteKey,
ByteBuffer dst)
Non-blocking implicit remote memory get operation.
|
void |
getNonBlockingImplicit(long remoteAddress,
UcpRemoteKey remoteKey,
long localAddress,
long size)
Non-blocking implicit remote memory get operation.
|
UcpRequest |
putNonBlocking(ByteBuffer src,
long remoteAddress,
UcpRemoteKey remoteKey,
UcxCallback callback)
Non-blocking remote memory put operation.
|
UcpRequest |
putNonBlocking(long localAddress,
long size,
long remoteAddress,
UcpRemoteKey remoteKey,
UcxCallback callback) |
UcpRequest |
putNonBlocking(long localAddress,
long size,
long remoteAddress,
UcpRemoteKey remoteKey,
UcxCallback callback,
int memoryType) |
void |
putNonBlockingImplicit(ByteBuffer src,
long remoteAddress,
UcpRemoteKey remoteKey)
This routine initiates a storage of contiguous block of data that is
described by the local
buffer in the remote contiguous memory
region described by remoteAddress and the remoteKey
"memory handle". |
void |
putNonBlockingImplicit(long localAddress,
long size,
long remoteAddress,
UcpRemoteKey remoteKey)
This routine initiates a storage of contiguous block of data that is
described by the local
localAddress in the remote contiguous memory
region described by remoteAddress and the remoteKey
"memory handle". |
UcpRequest |
recvStreamNonBlocking(ByteBuffer buffer,
long flags,
UcxCallback callback) |
UcpRequest |
recvStreamNonBlocking(long[] localAddresses,
long[] sizes,
long flags,
UcxCallback callback) |
UcpRequest |
recvStreamNonBlocking(long[] localAddresses,
long[] sizes,
long flags,
UcxCallback callback,
int memoryType) |
UcpRequest |
recvStreamNonBlocking(long localAddress,
long size,
long flags,
UcxCallback callback) |
UcpRequest |
recvStreamNonBlocking(long localAddress,
long size,
long flags,
UcxCallback callback,
int memoryType)
This routine receives data that is described by the local address and a size on the endpoint.
|
UcpRequest |
sendAmNonBlocking(int activeMessageId,
long headerAddress,
long headerLength,
long dataAddress,
long dataLength,
long flags,
UcxCallback callback) |
UcpRequest |
sendAmNonBlocking(int activeMessageId,
long headerAddress,
long headerLength,
long dataAddress,
long dataLength,
long flags,
UcxCallback callback,
int memoryType)
Send Active Message.
|
UcpRequest |
sendStreamNonBlocking(ByteBuffer buffer,
UcxCallback callback) |
UcpRequest |
sendStreamNonBlocking(long[] localAddresses,
long[] sizes,
UcxCallback callback) |
UcpRequest |
sendStreamNonBlocking(long[] localAddresses,
long[] sizes,
UcxCallback callback,
int memoryType) |
UcpRequest |
sendStreamNonBlocking(long localAddress,
long size,
UcxCallback callback)
This routine sends data that is described by the local address to the destination endpoint.
|
UcpRequest |
sendStreamNonBlocking(long localAddress,
long size,
UcxCallback callback,
int memoryType) |
UcpRequest |
sendTaggedNonBlocking(ByteBuffer sendBuffer,
long tag,
UcxCallback callback)
Non-blocking tagged-send operations
This routine sends a messages that is described by the local buffer
sendBuffer,
starting of it's sendBuffer.position() and size sendBuffer.remaining(). |
UcpRequest |
sendTaggedNonBlocking(ByteBuffer sendBuffer,
UcxCallback callback)
Non blocking send operation.
|
UcpRequest |
sendTaggedNonBlocking(long[] localAddresses,
long[] sizes,
long tag,
UcxCallback callback) |
UcpRequest |
sendTaggedNonBlocking(long[] localAddresses,
long[] sizes,
long tag,
UcxCallback callback,
int memoryType)
Iov version of non blocking send operaation
|
UcpRequest |
sendTaggedNonBlocking(long localAddress,
long size,
long tag,
UcxCallback callback) |
UcpRequest |
sendTaggedNonBlocking(long localAddress,
long size,
long tag,
UcxCallback callback,
int memoryType) |
String |
toString() |
UcpRemoteKey |
unpackRemoteKey(ByteBuffer rkeyBuffer)
This routine unpacks the remote key (RKEY) object into the local memory
such that it can be accessed and used by UCP routines.
|
equals, getNativeId, hashCode, setNativeIdpublic UcpEndpoint(UcpWorker worker, UcpEndpointParams params)
public void close()
close in interface Closeableclose in interface AutoCloseablepublic UcpRemoteKey unpackRemoteKey(ByteBuffer rkeyBuffer)
rkeyBuffer - - Packed remote key buffer
(see UcpMemory.getRemoteKeyBuffer()).public UcpRequest putNonBlocking(ByteBuffer src, long remoteAddress, UcpRemoteKey remoteKey, UcxCallback callback)
src buffer, starting of it's src.position()
and size src.remaining() in the remote contiguous memory
region described by remoteAddress address and the remoteKey "memory
handle". The routine returns immediately and does not
guarantee re-usability of the source data buffer.
callback is invoked on completion of this operation.public UcpRequest putNonBlocking(long localAddress, long size, long remoteAddress, UcpRemoteKey remoteKey, UcxCallback callback)
public UcpRequest putNonBlocking(long localAddress, long size, long remoteAddress, UcpRemoteKey remoteKey, UcxCallback callback, int memoryType)
public void putNonBlockingImplicit(ByteBuffer src, long remoteAddress, UcpRemoteKey remoteKey)
buffer in the remote contiguous memory
region described by remoteAddress and the remoteKey
"memory handle". The routine returns immediately and does not
guarantee re-usability of the source src buffer.public void putNonBlockingImplicit(long localAddress,
long size,
long remoteAddress,
UcpRemoteKey remoteKey)
localAddress in the remote contiguous memory
region described by remoteAddress and the remoteKey
"memory handle". The routine returns immediately and does not
guarantee re-usability of the source localAddress address.public UcpRequest getNonBlocking(long remoteAddress, UcpRemoteKey remoteKey, ByteBuffer dst, UcxCallback callback)
remoteAddress and the
remoteKey "memory handle". The routine returns immediately and does
not guarantee that remote data is loaded and stored under the local dst buffer
starting of it's dst.position() and size dst.remaining().
callback is invoked on completion of this operation.UcpRequest object that can be monitored for completion.public UcpRequest getNonBlocking(long remoteAddress, UcpRemoteKey remoteKey, long localAddress, long size, UcxCallback callback)
public UcpRequest getNonBlocking(long remoteAddress, UcpRemoteKey remoteKey, long localAddress, long size, UcxCallback callback, int memoryType)
public void getNonBlockingImplicit(long remoteAddress,
UcpRemoteKey remoteKey,
ByteBuffer dst)
remoteAddress and the
remoteKey "memory handle" in the local contiguous memory region described
by dst buffer. The routine returns immediately and does not guarantee that
remote data is loaded and stored under the local buffer.public void getNonBlockingImplicit(long remoteAddress,
UcpRemoteKey remoteKey,
long localAddress,
long size)
remoteAddress and the
remoteKey "memory handle" in the local contiguous memory region described
by localAddress the local address. The routine returns immediately
and does not guarantee that remote data is loaded and stored under the local buffer.public UcpRequest sendTaggedNonBlocking(ByteBuffer sendBuffer, long tag, UcxCallback callback)
sendBuffer,
starting of it's sendBuffer.position() and size sendBuffer.remaining().
to the destination endpoint. Each message is associated with a tag value
that is used for message matching on the
UcpWorker.recvTaggedNonBlocking(ByteBuffer, long, long, UcxCallback)
"receiver". The routine is non-blocking and therefore returns immediately,
however the actual send operation may be delayed.
The send operation is considered completed when it is safe to reuse the source
data buffer. callback is invoked on completion of this operation.public UcpRequest sendTaggedNonBlocking(long localAddress, long size, long tag, UcxCallback callback)
public UcpRequest sendTaggedNonBlocking(long localAddress, long size, long tag, UcxCallback callback, int memoryType)
public UcpRequest sendTaggedNonBlocking(ByteBuffer sendBuffer, UcxCallback callback)
sendTaggedNonBlocking(ByteBuffer, long, UcxCallback) with default 0 tag.public UcpRequest sendTaggedNonBlocking(long[] localAddresses, long[] sizes, long tag, UcxCallback callback, int memoryType)
public UcpRequest sendTaggedNonBlocking(long[] localAddresses, long[] sizes, long tag, UcxCallback callback)
public UcpRequest sendStreamNonBlocking(long localAddress, long size, UcxCallback callback)
public UcpRequest sendStreamNonBlocking(long localAddress, long size, UcxCallback callback, int memoryType)
public UcpRequest sendStreamNonBlocking(long[] localAddresses, long[] sizes, UcxCallback callback)
public UcpRequest sendStreamNonBlocking(long[] localAddresses, long[] sizes, UcxCallback callback, int memoryType)
public UcpRequest sendStreamNonBlocking(ByteBuffer buffer, UcxCallback callback)
public UcpRequest recvStreamNonBlocking(long localAddress, long size, long flags, UcxCallback callback, int memoryType)
public UcpRequest recvStreamNonBlocking(long localAddress, long size, long flags, UcxCallback callback)
public UcpRequest recvStreamNonBlocking(long[] localAddresses, long[] sizes, long flags, UcxCallback callback, int memoryType)
public UcpRequest recvStreamNonBlocking(long[] localAddresses, long[] sizes, long flags, UcxCallback callback)
public UcpRequest recvStreamNonBlocking(ByteBuffer buffer, long flags, UcxCallback callback)
public UcpRequest sendAmNonBlocking(int activeMessageId, long headerAddress, long headerLength, long dataAddress, long dataLength, long flags, UcxCallback callback, int memoryType)
activeMessageId - - Active Message id. Specifies which callback registered by
UcpWorker.setAmRecvHandler(int, UcpAmRecvCallback) to run.headerAddress - - User defined Active Message header. NULL value is
allowed if no header needed. In this caseheaderLength - - Active message header length in bytes.dataAddress - - Pointer to the data to be sent to the target node
of the Active Message.dataLength - - Data length size in bytescallback - - Callback to call on a completion.public UcpRequest sendAmNonBlocking(int activeMessageId, long headerAddress, long headerLength, long dataAddress, long dataLength, long flags, UcxCallback callback)
public UcpRequest flushNonBlocking(UcxCallback callback)
public UcpRequest closeNonBlockingForce()
UcpEndpointParams.setPeerErrorHandlingMode() for all endpoints created on
both (local and remote) sides to avoid undefined behavior.public UcpRequest closeNonBlockingFlush()
Copyright © 2021. All rights reserved.