private void triggerAllCrossSegmentCallbacks() { SplitFileFetcherCrossSegmentStorage[] crossSegmentsByBlockCopy; synchronized(this) { if(crossSegmentsByBlock == null) return; crossSegmentsByBlockCopy = Arrays.copyOf(this.crossSegmentsByBlock, this.crossSegmentsByBlock.length); } for(int i=0;i<crossSegmentsByBlockCopy.length;i++) { SplitFileFetcherCrossSegmentStorage s = crossSegmentsByBlockCopy[i]; if(s != null) s.onFetchedRelevantBlock(this, i); } }
callback.onFetchedRelevantBlock(this, blockNumber); lazyWriteMetadata(); if(logMINOR) Logger.minor(this, "Got block "+blockNumber+" ("+key+") for "+this+" for "+parent+" written to "+slotNumber);