private void waitForFinished(SplitFileFetcherSegmentStorage segment) { while(!segment.isFinished()) { assertFalse(segment.hasFailed()); try { Thread.sleep(1); } catch (InterruptedException e) { // Ignore. } } }
private void waitForDecode(SplitFileFetcherSegmentStorage segment) { while(!segment.hasSucceeded()) { assertFalse(segment.hasFailed()); try { Thread.sleep(1); } catch (InterruptedException e) { // Ignore. } } }
assertFalse(storage.segments[0].getOverallCooldownTime() == Long.MAX_VALUE);
int chosen = storage.chooseRandomKey(); assertTrue(chosen != -1); assertFalse(tried[chosen]); tried[chosen] = true; Key k = test.getCHK(chosen);
assertFalse(segment.corruptMetadata()); int total = test.dataBlocks.length+test.checkBlocks.length; for(int i=0;i<total;i++) } while (hits[block]); hits[block] = true; assertFalse(segment.hasStartedDecode()); assertTrue(segment.onGotKey(test.getCHK(block), test.encodeBlock(block))); cb.markDownloadedBlock(block);
assertFalse(segment.corruptMetadata()); int total = test.dataBlocks.length+test.checkBlocks.length; for(int i=0;i<total;i++) } while (hits[block]); hits[block] = true; assertFalse(segment.hasStartedDecode()); assertTrue(segment.onGotKey(test.getCHK(block), test.encodeBlock(block))); cb.markDownloadedBlock(block);
private void testDataBlocksOnly(TestSplitfile test) throws IOException, CHKEncodeException, FetchException, MetadataParseException { StorageCallback cb = test.createStorageCallback(); SplitFileFetcherStorage storage = test.createStorage(cb); SplitFileFetcherSegmentStorage segment = storage.segments[0]; for(int i=0;i<test.checkBlocks.length;i++) { segment.onNonFatalFailure(test.dataBlocks.length+i); } for(int i=0;i<test.dataBlocks.length;i++) { assertFalse(segment.hasStartedDecode()); assertTrue(segment.onGotKey(test.dataKeys[i].getNodeCHK(), test.encodeDataBlock(i))); cb.markDownloadedBlock(i); } cb.checkFailed(); assertTrue(segment.hasStartedDecode()); cb.checkFailed(); waitForDecode(segment); cb.checkFailed(); cb.waitForFinished(); cb.checkFailed(); test.verifyOutput(storage); cb.checkFailed(); storage.finishedFetcher(); cb.checkFailed(); waitForFinished(segment); cb.checkFailed(); cb.waitForFree(storage); cb.checkFailed(); }
assertFalse(segment.hasStartedDecode()); assertTrue(segment.onGotKey(test.checkKeys[i].getNodeCHK(), test.encodeCheckBlock(i))); cb.markDownloadedBlock(i + test.dataBlocks.length);
} while (hits[block]); hits[block] = true; assertFalse(segment.hasStartedDecode()); assertTrue(segment.onGotKey(test.getCHK(block), test.encodeBlock(block))); cb.markDownloadedBlock(block);