public class Request {
// Nonblocking communication
public Status wait() throws MPJException {...}
public Status test() throws MPJException {...}
public Request() throws MPJException {...}
public void finalize() {...}
public boolean isVoid() throws MPJException {...}
public static Status waitAny(Request [] arrayOfRequests) throws MPJException {...}
public static Status testAny(Request [] arrayOfRequests) throws MPJException {...}
public static Status [] waitAll(Request [] arrayOfRequests) throws MPJException {...}
public static Status [] testAll(Request [] arrayOfRequests) throws MPJException {...}
public static Status [] waitSome(Request [] arrayOfRequests) throws MPJException {...}
public static Status [] testSome(Request [] arrayOfRequests) throws MPJException {...}
// Probe and cancel
public void cancel() throws MPJException {...}
...
}
public class Prequest extends Request {
// Persistent communication requests
public void start() throws MPJException {...}
public static void startAll(Request [] arrayOfRequests) throws MPJException {...}
...
}