protected int startTransfer(Message m, Connection con) { int retVal; if (!con.isReadyForTransfer()) { return TRY_LATER_BUSY; } retVal = con.startTransfer(getHost(), m); DTNHost other = con.getOtherNode(getHost()); if (retVal == DENIED_OLD && other.isSink()) { /* final recipient has already received the msg -> delete it */ this.deleteMessage(m.getId(), false); return retVal; } if (retVal == RCV_OK) { // started transfer addToSendingConnections(con); if (other.isSink() || (((FadToSink) other.getRouter()).getDelProb() > 0.9) && !isSending(m.getId())) this.deleteMessage(m.getId(), false); return retVal; } return retVal; }