/* Looks for finished send communications and updates the pending list. */ private void testSendRequests() { if ((pendingSendRequest != null) && !pendingSendRequest.isEmpty()) { Request[] rS = new Request[pendingSendRequest.size()]; rS = pendingSendRequest.keySet().toArray(rS); Status[] status = Request.Testsome(rS); for (int i = 0; i < status.length; i++) { pendingSendRequest.remove(rS[status[i].index]); } } }
/* Returns a list with the delayed migrants and updates the pending list. */ private List<MigrationObject> testRecvRequests() { List<MigrationObject> delayedMigrants = new ArrayList<MigrationObject>(); if (pendingRecvRequest != null) { Request[] rR = new Request[pendingRecvRequest.size()]; rR = pendingRecvRequest.keySet().toArray(rR); Status[] status = Request.Testsome(rR); for (int i = 0; i < status.length; i++) { Request r = rR[status[i].index]; MigrationObject delayedMigrant = ((MigrationObject[]) pendingRecvRequest.get(r))[0]; if (delayedMigrant != null) { delayedMigrants.add(delayedMigrant); } pendingRecvRequest.remove(r); } } return delayedMigrants; }