com.ibm.net.rdma.jverbs.verbs
Class QueuePair
- java.lang.Object
-
- com.ibm.net.rdma.jverbs.verbs.QueuePair
-
public class QueuePair extends java.lang.ObjectQueue Pair(QP) represents a pair of send and receive work queue. Each ConnectionId needs to be associated with a QueuePair to perform data transfer by posting SendWorkRequest or ReceiveWorkRequest.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classQueuePair.StateDefines various QueuePair States.static classQueuePair.TypeVarious Transport Service Types for QueuePair
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description ProtectionDomaingetProtectionDomain()The protection domain this QP is associated with.QueuePairLimitgetQueuePairLimit()Get the queue pair limit the current queue is created withintgetQueuePairNum()An identifier for this QP.QueuePair.TypegetQueuePairType()Gets type of the QP.CompletionQueuegetReceiveCompletionQueue()Gets the completion queue holding events related to receive operations.CompletionQueuegetSendCompletionQueue()Gets the completion queue holding events related to send operations.VerbsContextgetVerbsContext()The device context this QP is associated with.PostReceiveMethodpreparePostReceive(java.util.List<ReceiveWorkRequest> workRequestList)Prepare a post receive operation on associated ConnectionId.PostSendMethodpreparePostSend(java.util.List<SendWorkRequest> workRequestList)Prepare a post send operation on associated ConnectionId.
-
-
-
Method Detail
-
getProtectionDomain
public ProtectionDomain getProtectionDomain()
The protection domain this QP is associated with.- Returns:
- the protectio domain.
-
getQueuePairLimit
public QueuePairLimit getQueuePairLimit()
Get the queue pair limit the current queue is created with- Returns:
- QueuePairLimit
-
getQueuePairNum
public int getQueuePairNum()
An identifier for this QP.- Returns:
- the qp_num
-
getQueuePairType
public QueuePair.Type getQueuePairType()
Gets type of the QP. Only IBV_QPT_RC is supported.- Returns:
- the QP type.
-
getReceiveCompletionQueue
public CompletionQueue getReceiveCompletionQueue()
Gets the completion queue holding events related to receive operations.- Returns:
- the recv_cq
-
getSendCompletionQueue
public CompletionQueue getSendCompletionQueue()
Gets the completion queue holding events related to send operations.- Returns:
- the completion queue.
-
getVerbsContext
public VerbsContext getVerbsContext()
The device context this QP is associated with.- Returns:
- the context
-
preparePostReceive
public PostReceiveMethod preparePostReceive(java.util.List<ReceiveWorkRequest> workRequestList) throws java.lang.IllegalArgumentException, java.io.IOException
Prepare a post receive operation on associated ConnectionId.- Parameters:
workRequestList- list of receive requests.- Returns:
- a stateful verb method (SVM) ready to execute the receive operations.
- Throws:
java.io.IOException- If an I/O error occursjava.lang.IllegalArgumentException- If the value of any of the parameter is invalid
-
preparePostSend
public PostSendMethod preparePostSend(java.util.List<SendWorkRequest> workRequestList) throws java.lang.IllegalArgumentException, java.io.IOException
Prepare a post send operation on associated ConnectionId.- Parameters:
workRequestList- list of send requests.- Returns:
- a stateful verb method (SVM) ready to execute the send operations.
- Throws:
java.io.IOException- If an I/O error occursjava.lang.IllegalArgumentException- If the value of any of the parameter is invalid
-
-