@Override public void onBlockSetFinished(ClientPutState state, ClientContext context) { synchronized(this) { ListUtils.removeBySwapLast(this.waitingForBlockSet,state); if(!started) return; if(!waitingForBlockSet.isEmpty()) return; } cb.onBlockSetFinished(this, context); }
@Override public void onBlockSetFinished(ClientPutState state, ClientContext context) { synchronized(this) { if(state == sfi) splitInsertSetBlocks = true; else if (state == metadataPutter) metaInsertSetBlocks = true; else if(logMINOR) Logger.minor(this, "Unrecognised: "+state+" in onBlockSetFinished()"); if(!(splitInsertSetBlocks && metaInsertSetBlocks)) return; } cb.onBlockSetFinished(this, context); }
public void arm(ClientContext context) { if(logMINOR) Logger.minor(this, "Arming "+this); boolean allDone; boolean allGotBlocks; boolean doCancel; synchronized(this) { started = true; allDone = waitingFor.isEmpty(); allGotBlocks = waitingForBlockSet.isEmpty(); doCancel = cancelling; } if(allGotBlocks) { cb.onBlockSetFinished(this, context); } if(allDone) { complete(e, context); } else if(doCancel) { cancel(context); } }
@Override public void schedule(ClientContext context) throws InsertException { cb.onBlockSetFinished(this, context); storage.start(); if(!ctx.getCHKOnly) { sender.clearWakeupTime(context); sender.schedule(context); } }
bi.schedule(context); if(!isUSK) cb.onBlockSetFinished(this, context); synchronized(this) { started = true; dataPutter.schedule(context); if(!isUSK) cb.onBlockSetFinished(this, context); synchronized(this) { metaPutter.schedule(context); if(!isUSK) cb.onBlockSetFinished(this, context);