mpi
Class Request

java.lang.Object
  |
  +--mpi.Request
Direct Known Subclasses:
Prequest

public class Request
extends java.lang.Object


Field Summary
protected  int baseTypeSave
           
protected  java.lang.Object buf
           
protected  long bufbaseSave
           
protected  long bufptrSave
           
protected  java.lang.Object bufSave
           
protected  Comm comm
           
protected  long commSave
           
protected  int count
           
protected  int countSave
           
protected  int dest
           
protected  long handle
           
protected  Request hdrReq
           
protected  int[] length_buf
           
protected  int mode
           
protected static int NULL
           
protected  int offset
           
protected  int offsetSave
           
protected static int OP_RECV
           
protected static int OP_SEND
           
protected  int opTag
           
protected  int tag
           
protected  Datatype type
           
protected static int TYPE_NORMAL
           
protected static int TYPE_OBJECT
           
protected  long typeSave
           
protected  int typeTag
           
 
Constructor Summary
protected Request()
           
protected Request(int Type)
           
protected Request(java.lang.Object buf, int offset, int count, Datatype type, int tag, Comm comm, int[] length_buf)
          Constructor used by Irecv.
protected Request(Request hdrReq)
          Constructor used by Isend, etc.
 
Method Summary
 void Cancel()
          Mark a pending nonblocking communication for cancellation.
 void Free()
          Set the request object to be void.
 boolean Is_null()
          Test if request object is void.
 Status Test()
          Returns a status object if the operation identified by the request is complete, or a null reference otherwise.
static Status[] Testall(Request[] array_of_request)
          Tests for completion of all of the operations associated with active requests.
static Status Testany(Request[] array_of_request)
          Tests for completion of either one or none of the operations associated with active requests.
static Status[] Testsome(Request[] array_of_request)
          Behaves like Waitsome, except that it returns immediately.
 Status Wait()
          Blocks until the operation identified by the request is complete.
static Status[] Waitall(Request[] array_of_request)
          Blocks until all of the operations associated with the active requests in the array have completed.
static Status Waitany(Request[] array_of_request)
          Blocks until one of the operations associated with the active requests in the array has completed.
static Status[] Waitsome(Request[] array_of_request)
          Blocks until at least one of the operations associated with the active requests in the array has completed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL

protected static final int NULL
See Also:
Constant Field Values

TYPE_NORMAL

protected static final int TYPE_NORMAL
See Also:
Constant Field Values

TYPE_OBJECT

protected static final int TYPE_OBJECT
See Also:
Constant Field Values

OP_SEND

protected static final int OP_SEND
See Also:
Constant Field Values

OP_RECV

protected static final int OP_RECV
See Also:
Constant Field Values

hdrReq

protected Request hdrReq

typeTag

protected int typeTag

opTag

protected int opTag

mode

protected int mode

buf

protected java.lang.Object buf

offset

protected int offset

count

protected int count

type

protected Datatype type

dest

protected int dest

tag

protected int tag

comm

protected Comm comm

length_buf

protected int[] length_buf

handle

protected long handle

bufSave

protected java.lang.Object bufSave

countSave

protected int countSave

offsetSave

protected int offsetSave

bufbaseSave

protected long bufbaseSave

bufptrSave

protected long bufptrSave

baseTypeSave

protected int baseTypeSave

commSave

protected long commSave

typeSave

protected long typeSave
Constructor Detail

Request

protected Request()

Request

protected Request(int Type)

Request

protected Request(Request hdrReq)
Constructor used by Isend, etc.


Request

protected Request(java.lang.Object buf,
                  int offset,
                  int count,
                  Datatype type,
                  int tag,
                  Comm comm,
                  int[] length_buf)
Constructor used by Irecv.

Method Detail

Free

public void Free()
          throws MPIException
Set the request object to be void. Java binding of the MPI operation MPI_REQUEST_FREE.

MPIException

Cancel

public void Cancel()
            throws MPIException
Mark a pending nonblocking communication for cancellation. Java binding of the MPI operation MPI_CANCEL.

MPIException

Is_null

public boolean Is_null()
Test if request object is void.

returns: true if the request object is void, false otherwise


Wait

public Status Wait()
            throws MPIException
Blocks until the operation identified by the request is complete.

returns: status object

Java binding of the MPI operation MPI_WAIT.

After the call returns, the request object becomes inactive.

MPIException

Test

public Status Test()
            throws MPIException
Returns a status object if the operation identified by the request is complete, or a null reference otherwise.

returns: status object or null reference

Java binding of the MPI operation MPI_TEST.

After the call, if the operation is complete (ie, if the return value is non-null), the request object becomes inactive.

MPIException

Waitany

public static Status Waitany(Request[] array_of_request)
                      throws MPIException
Blocks until one of the operations associated with the active requests in the array has completed.

array_of_requests array of requests
returns: status object

Java binding of the MPI operation MPI_WAITANY.

The index in array_of_requests for the request that completed can be obtained from the returned status object through the Status.index field. The corresponding element of array_of_requests becomes inactive.

MPIException

Testany

public static Status Testany(Request[] array_of_request)
                      throws MPIException
Tests for completion of either one or none of the operations associated with active requests.

array_of_requests array of requests
returns: status object or null reference

Java binding of the MPI operation MPI_TESTANY.

If some request completed, the index in array_of_requests for that request can be obtained from the returned status object through the. The corresponding element of array_of_requests becomes inactive. If no request completed, Testany returns a null reference.

MPIException

Waitall

public static Status[] Waitall(Request[] array_of_request)
                        throws MPIException
Blocks until all of the operations associated with the active requests in the array have completed.

array_of_requests array of requests
returns: array of status objects

Java binding of the MPI operation MPI_WAITALL.

The result array will be the same size as array_of_requests. On exit, requests become inactive. If the input value of arrayOfRequests contains inactive requests, corresponding elements of the result array will contain null status references.

MPIException

Testall

public static Status[] Testall(Request[] array_of_request)
                        throws MPIException
Tests for completion of all of the operations associated with active requests.

array_of_requests array of requests
returns: array of status objects

Java binding of the MPI operation MPI_TESTALL.

If all operations have completed, the exit value of the argument array and the result array are as for Waitall. If any operation has not completed, the result value is null and no element of the argument array is modified.

MPIException

Waitsome

public static Status[] Waitsome(Request[] array_of_request)
                         throws MPIException
Blocks until at least one of the operations associated with the active requests in the array has completed.

array_of_requests array of requests
returns: array of status objects

Java binding of the MPI operation MPI_WAITSOME.

The size of the result array will be the number of operations that completed. The index in array_of_requests for each request that completed can be obtained from the returned status objects through the Status.index field. The corresponding element in array_of_requests becomes inactive.

MPIException

Testsome

public static Status[] Testsome(Request[] array_of_request)
                         throws MPIException
Behaves like Waitsome, except that it returns immediately.

array_of_requests array of requests
returns: array of status objects

Java binding of the MPI operation MPI_TESTSOME.

If no operation has completed, TestSome returns an array of length zero and elements of array_of_requests are unchanged. Otherwise, arguments and return value are as for Waitsome.

MPIException