-/* Copyright (c) 2012-2014. The SimGrid Team.
+/* Copyright (c) 2012-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
package org.simgrid.msg;
-/**
- * Communication action, representing an ongoing communication
- * between processes.
- */
+/** Communication action, representing an ongoing communication between processes. */
public class Comm {
/** Indicates if the communication is a receiving communication */
protected boolean receiving;
protected boolean finished = false;
/**
* Represents the bind between the java comm and the
- * native C comm. You must never access it, since it is
+ * native C comm. You must never access it, since it is
* automatically set.
*/
private long bind = 0;
protected Comm() {
}
- /** Destroy the C communication object, when the GC reclaims the java part. */
+ /**
+ * Destroy the C communication object, when the GC reclaims the java part.
+ * @deprecated (from Java9 onwards)
+ */
+ @Deprecated @Override
protected void finalize() throws Throwable{
nativeFinalize();
}
public native void waitCompletion(double timeout) throws TransferFailureException, HostFailureException, TimeoutException;
/** Wait all of the communications */
- public native static void waitAll(Comm[] comms, double timeout) throws TransferFailureException, HostFailureException, TimeoutException;
+ public static native void waitAll(Comm[] comms, double timeout) throws TransferFailureException, HostFailureException, TimeoutException;
/** Wait all of the communications, with no maximal delay */
public static void waitAll(Comm[] comms) throws TransferFailureException, HostFailureException, TimeoutException {
waitAll(comms, -1.);
}
/** Wait any of the communications, and return the rank of the terminating comm */
- //public native int waitAny(Comm[] comms);
+ public static native int waitAny(Comm[] comms) throws TransferFailureException, HostFailureException, TimeoutException;
/**
* Returns the task associated with the communication.
* if the communication isn't finished yet, will return null.