mpi
Class Request

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

public class Request
extends java.lang.Object


Field Summary
protected  java.lang.Object buf
           
protected  Comm comm
           
protected  int count
           
protected  int dest
           
protected  long handle
           
protected  Request hdrReq
           
protected  int[] length_buf
           
protected  int mode
           
protected static int NULL
           
protected  int offset
           
protected static int OP_NORMAL
           
protected static int OP_RECV_OBJECT
           
protected static int OP_SEND_OBJECT
           
protected  int opTag
           
protected  int src
           
protected  int tag
           
protected  Datatype type
           
 
Constructor Summary
protected Request()
           
protected Request(int Type)
           
protected Request(long _handle)
           
protected Request(java.lang.Object buf, int offset, int count, Datatype type, int source, 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 handle 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

OP_NORMAL

protected static final int OP_NORMAL

OP_SEND_OBJECT

protected static final int OP_SEND_OBJECT

OP_RECV_OBJECT

protected static final int OP_RECV_OBJECT

hdrReq

protected Request hdrReq

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

src

protected int src

tag

protected int tag

comm

protected Comm comm

length_buf

protected int[] length_buf

handle

protected long handle
Constructor Detail

Request

protected Request()

Request

protected Request(int Type)

Request

protected Request(long _handle)

Request

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

Request

protected Request(java.lang.Object buf,
                  int offset,
                  int count,
                  Datatype type,
                  int source,
                  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.

Cancel

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

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.


Test

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

returns: status object or null handle

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.


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.


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 handle

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 handle.


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 handles.


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.


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.


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.