@Override public void freeParts() { if (this.parts == null) return; for (Bucket b : this.parts.values()) { b.free(); } parts.clear(); freedParts = true; // Do not free data. Caller is responsible for that. }
@Override protected void freeBucket(Bucket bucket) throws IOException { bucket.free(); } }
@Override public void onGeneratedMetadata(Bucket metadata, BaseClientPutter state) { Logger.error(this, "Got onGeneratedMetadata inserting blob from "+state, new Exception("error")); metadata.free(); }
@Override public void onMetadata(Bucket meta, ClientPutState state, ClientContext context) { Logger.error(this, "onMetadata() in SimpleHealingQueue - impossible", new Exception("error")); meta.free(); }
@Override protected void freeData() { Bucket d; synchronized(this) { d = data; data = null; if(d == null) return; finishedSize = d.size(); } d.free(); }
@Override public void onGeneratedMetadata(Bucket metadata, BaseClientPutter state) { Logger.error(this, "Bogus onGeneratedMetadata() on "+this+" from "+state, new Exception("error")); metadata.free(); }
@Override public void queue(Bucket data, byte[] cryptoKey, byte cryptoAlgorithm, ClientContext context) { if(!innerQueue(data, cryptoKey, cryptoAlgorithm, context)) data.free(); }
@Override public void onSuccess(FetchResult result, ClientGetter state) { if (logDEBUG) Logger.debug(this, "NullClientCallback#onSuccess result=" + result + ", state=" + state); result.data.free(); }
@Override public void onMetadata(Bucket meta, ClientPutState state, ClientContext context) { Logger.error(this, "onMetadata on "+this+" from "+state, new Exception("error")); meta.free(); }
@Override protected void writeData(OutputStream os) throws IOException { for(Map.Entry<String, Bucket> entry : buckets.entrySet()) { Bucket bucket = entry.getValue(); BucketTools.copyTo(bucket, os, bucket.size()); if(freeOnSent) bucket.free(); // Always transient so no removeFrom() needed. } }
@Override void innerClose() { if(logMINOR) Logger.minor(this, "innerClose(): "+this+" : "+bucket); if(bucket == null) { // This still happens. It is clearly impossible as we check in the constructor and throw if it is null. // Nonetheless there is little we can do here ... Logger.error(this, "IMPOSSIBLE: BUCKET IS NULL!", new Exception("error")); return; } bucket.free(); }
public void freeData() { if(bucket == null) { if(dataLength() <= 0) return; // Okay. Logger.error(this, "bucket is null on "+this+" - freed twice?", new Exception("error")); return; } bucket.free(); }
@Override public void onSuccess(FetchResult result, ClientGetter state) { System.err.println("Got revocation certificate from " + source); updateManager.revocationChecker.onSuccess(result, state, cleanedBlob); if(!fromDisk) temp.free(); insertBlob(updateManager.revocationChecker.getBlobBucket(), "revocation", RequestStarter.INTERACTIVE_PRIORITY_CLASS); }
@Override public void onSuccess(ClientPutState state, ClientContext context) { SingleBlockInserter sbi = (SingleBlockInserter)state; Bucket data = (Bucket) sbi.getToken(); synchronized(this) { runningInserters.remove(data); } if(logMINOR) Logger.minor(this, "Successfully inserted healing block: "+sbi.getURINoEncode()+" for "+data+" ("+sbi.token+ ')'); data.free(); }
@Override public void onSuccess(FetchResult result, ClientGetter state) { result.asBucket().free(); if(!FileUtil.renameTo(tempFile, saveTo)) { Logger.error(this, "Fetched file but unable to rename temp file "+tempFile+" to "+saveTo+" : UOM FROM OLD NODES WILL NOT WORK!"); } else { synchronized(this) { fetched = true; } cb.onSuccess(this); } }
@Override protected void freeBucket(Bucket bucket) throws IOException { File file = ((BaseFileBucket) bucket).getFile(); if (bucket.size() != 0) assertTrue("TempFile not exist", file.exists()); bucket.free(); assertFalse("TempFile not deleted", file.exists()); } }
public void verifyOutput(SplitFileFetcherStorage storage) throws IOException { StreamGenerator g = storage.streamGenerator(); Bucket out = bf.makeBucket(-1); OutputStream os = out.getOutputStream(); g.writeTo(os, null); os.close(); assertTrue(BucketTools.equalBuckets(originalData, out)); out.free(); }
/** Will be overridden by SingleFileFetcher */ protected void onSuccess(FetchResult data, ClientContext context) { if(parent.isCancelled()) { data.asBucket().free(); onFailure(new FetchException(FetchExceptionMode.CANCELLED), false, context); return; } rcb.onSuccess(new SingleFileStreamGenerator(data.asBucket(), persistent), data.getMetadata(), null, this, context); }
private void verifyOutput(SplitFileFetcherStorage storage, Bucket originalData) throws IOException { StreamGenerator g = storage.streamGenerator(); Bucket out = smallBucketFactory.makeBucket(-1); OutputStream os = out.getOutputStream(); g.writeTo(os, null); os.close(); assertTrue(BucketTools.equalBuckets(originalData, out)); out.free(); }
/** Status. Generally depends on the status of the individual segments... * Not persisted: Can be deduced from the state of the segments, except for the last 3 states, * which are only used during completion (we don't keep the storage around once we're * finished). */ enum Status { NOT_STARTED, STARTED, ENCODED_CROSS_SEGMENTS, ENCODED, GENERATING_METADATA, SUCCEEDED, FAILED }