/** * Construct an optimized get starting with the given get operation. */ public OptimizedGetImpl(GetOperation firstGet) { super(new HashSet<String>(), new ProxyCallback()); pcb=(ProxyCallback)getCallback(); addOperation(firstGet); }
@Override protected void optimize() { // make sure there are at least two get operations in a row before // attempting to optimize them. if (writeQ.peek() instanceof GetOperation) { optimizedOp = writeQ.remove(); if (writeQ.peek() instanceof GetOperation) { OptimizedGetImpl og = new OptimizedGetImpl((GetOperation) optimizedOp); optimizedOp = og; while (writeQ.peek() instanceof GetOperation) { GetOperationImpl o = (GetOperationImpl) writeQ.remove(); if (!o.isCancelled()) { og.addOperation(o); } } // Initialize the new mega get optimizedOp.initialize(); assert optimizedOp.getState() == OperationState.WRITE_QUEUED; ProxyCallback pcb = (ProxyCallback) og.getCallback(); getLogger().debug("Set up %s with %s keys and %s callbacks", this, pcb.numKeys(), pcb.numCallbacks()); } } } }
/** * Add a new GetOperation to get. */ public void addOperation(GetOperation o) { getKeys().addAll(o.getKeys()); pcb.addCallbacks(o); } }
@Override protected void optimize() { // make sure there are at least two get operations in a row before // attempting to optimize them. if (writeQ.peek() instanceof GetOperation) { optimizedOp = writeQ.remove(); if (writeQ.peek() instanceof GetOperation) { OptimizedGetImpl og = new OptimizedGetImpl((GetOperation) optimizedOp); optimizedOp = og; while (writeQ.peek() instanceof GetOperation) { GetOperationImpl o = (GetOperationImpl) writeQ.remove(); if (!o.isCancelled()) { og.addOperation(o); } } // Initialize the new mega get optimizedOp.initialize(); assert optimizedOp.getState() == OperationState.WRITE_QUEUED; ProxyCallback pcb = (ProxyCallback) og.getCallback(); getLogger().debug("Set up %s with %s keys and %s callbacks", this, pcb.numKeys(), pcb.numCallbacks()); } } } }
/** * Add a new GetOperation to get. */ public void addOperation(GetOperation o) { getKeys().addAll(o.getKeys()); pcb.addCallbacks(o); } }
@Override protected void optimize() { // make sure there are at least two get operations in a row before // attempting to optimize them. if (writeQ.peek() instanceof GetOperation) { optimizedOp = writeQ.remove(); if (writeQ.peek() instanceof GetOperation) { OptimizedGetImpl og = new OptimizedGetImpl((GetOperation) optimizedOp); optimizedOp = og; while (writeQ.peek() instanceof GetOperation) { GetOperationImpl o = (GetOperationImpl) writeQ.remove(); if (!o.isCancelled()) { og.addOperation(o); } } // Initialize the new mega get optimizedOp.initialize(); assert optimizedOp.getState() == OperationState.WRITE_QUEUED; ProxyCallback pcb = (ProxyCallback) og.getCallback(); getLogger().debug("Set up %s with %s keys and %s callbacks", this, pcb.numKeys(), pcb.numCallbacks()); } } } }
/** * Construct an optimized get starting with the given get operation. */ public OptimizedGetImpl(GetOperation firstGet) { super(new HashSet<String>(), new ProxyCallback()); pcb = (ProxyCallback) getCallback(); addOperation(firstGet); }
/** * Add a new GetOperation to get. */ public void addOperation(GetOperation o) { getKeys().addAll(o.getKeys()); pcb.addCallbacks(o); } }
@Override protected void optimize() { // make sure there are at least two get operations in a row before // attempting to optimize them. if(writeQ.peek() instanceof GetOperation) { optimizedOp=writeQ.remove(); if(writeQ.peek() instanceof GetOperation) { OptimizedGetImpl og=new OptimizedGetImpl( (GetOperation)optimizedOp); optimizedOp=og; while(writeQ.peek() instanceof GetOperation) { GetOperationImpl o=(GetOperationImpl) writeQ.remove(); if(!o.isCancelled()) { og.addOperation(o); } } // Initialize the new mega get optimizedOp.initialize(); assert optimizedOp.getState() == OperationState.WRITING; ProxyCallback pcb=(ProxyCallback) og.getCallback(); getLogger().debug("Set up %s with %s keys and %s callbacks", this, pcb.numKeys(), pcb.numCallbacks()); } } }
/** * Construct an optimized get starting with the given get operation. */ public OptimizedGetImpl(GetOperation firstGet) { super(new HashSet<String>(), new ProxyCallback()); pcb = (ProxyCallback) getCallback(); addOperation(firstGet); }
/** * Add a new GetOperation to get. */ public void addOperation(GetOperation o) { getKeys().addAll(o.getKeys()); pcb.addCallbacks(o); } }
@Override protected void optimize() { // make sure there are at least two get operations in a row before // attempting to optimize them. if(writeQ.peek() instanceof GetOperation) { optimizedOp=writeQ.remove(); if(writeQ.peek() instanceof GetOperation) { OptimizedGetImpl og=new OptimizedGetImpl( (GetOperation)optimizedOp); optimizedOp=og; while(writeQ.peek() instanceof GetOperation) { GetOperationImpl o=(GetOperationImpl) writeQ.remove(); if(!o.isCancelled()) { og.addOperation(o); } } // Initialize the new mega get optimizedOp.initialize(); assert optimizedOp.getState() == OperationState.WRITING; ProxyCallback pcb=(ProxyCallback) og.getCallback(); getLogger().debug("Set up %s with %s keys and %s callbacks", this, pcb.numKeys(), pcb.numCallbacks()); } } }
/** * Construct an optimized get starting with the given get operation. */ public OptimizedGetImpl(GetOperation firstGet) { super(new HashSet<String>(), new ProxyCallback()); pcb = (ProxyCallback) getCallback(); addOperation(firstGet); }
/** * Add a new GetOperation to get. */ public void addOperation(GetOperation o) { getKeys().addAll(o.getKeys()); pcb.addCallbacks(o); } }
@Override protected void optimize() { // make sure there are at least two get operations in a row before // attempting to optimize them. Operation nxtOp = writeQ.peek(); if (nxtOp instanceof GetOperation && nxtOp.getAPIType() != APIType.MGET) { optimizedOp = writeQ.remove(); nxtOp = writeQ.peek(); if (nxtOp instanceof GetOperation && nxtOp.getAPIType() != APIType.MGET) { OptimizedGetImpl og = new OptimizedGetImpl( (GetOperation) optimizedOp); optimizedOp = og; do { GetOperationImpl o = (GetOperationImpl) writeQ.remove(); if (!o.isCancelled()) { og.addOperation(o); } nxtOp = writeQ.peek(); } while (nxtOp instanceof GetOperation && nxtOp.getAPIType() != APIType.MGET); // Initialize the new mega get optimizedOp.initialize(); assert optimizedOp.getState() == OperationState.WRITING; ProxyCallback pcb = (ProxyCallback) og.getCallback(); getLogger().debug("Set up %s with %s keys and %s callbacks", this, pcb.numKeys(), pcb.numCallbacks()); } } }
/** * Construct an optimized get starting with the given get operation. */ public OptimizedGetImpl(GetOperation firstGet) { super(new HashSet<String>(), new ProxyCallback()); pcb=(ProxyCallback)getCallback(); addOperation(firstGet); }
/** * Add a new GetOperation to get. */ public void addOperation(GetOperation o) { getKeys().addAll(o.getKeys()); pcb.addCallbacks(o); } }
/** * Construct an optimized get starting with the given get operation. */ public OptimizedGetImpl(GetOperation firstGet) { super(new HashSet<String>(), new ProxyCallback()); pcb = (ProxyCallback) getCallback(); addOperation(firstGet); }