public MemcachedNode createMemcachedNode(SocketAddress sa, SocketChannel c, int bufSize) { OperationFactory of = getOperationFactory(); if(of instanceof AsciiOperationFactory) { return new AsciiMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue()); } else if(of instanceof BinaryOperationFactory) { return new BinaryMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue()); } else { throw new IllegalStateException( "Unhandled operation factory type " + of); } }
@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()); } } } }
public MemcachedNode createMemcachedNode(SocketAddress sa, SocketChannel c, int bufSize) { OperationFactory of = getOperationFactory(); if (of instanceof AsciiOperationFactory) { return new AsciiMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime()); } else if (of instanceof BinaryOperationFactory) { boolean doAuth = false; if (getAuthDescriptor() != null) { doAuth = true; } return new BinaryMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), doAuth); } else { throw new IllegalStateException( "Unhandled operation factory type " + of); } }
@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()); } } } }
public MemcachedNode createMemcachedNode(SocketAddress sa, SocketChannel c, int bufSize) { OperationFactory of = getOperationFactory(); if (of instanceof AsciiOperationFactory) { return new AsciiMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), getOperationTimeout()); } else if (of instanceof BinaryOperationFactory) { boolean doAuth = false; if (getAuthDescriptor() != null) { doAuth = true; } return new BinaryMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), doAuth, getOperationTimeout()); } else { throw new IllegalStateException("Unhandled operation factory type " + of); } }
@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()); } } }
public MemcachedNode createMemcachedNode(SocketAddress sa, SocketChannel c, int bufSize) { OperationFactory of = getOperationFactory(); if(of instanceof AsciiOperationFactory) { return new AsciiMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), getOperationTimeout()); } else if(of instanceof BinaryOperationFactory) { boolean doAuth = false; if (getAuthDescriptor() != null) { doAuth = true; } return new BinaryMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), doAuth, getOperationTimeout()); } else { throw new IllegalStateException( "Unhandled operation factory type " + of); } }
@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()); } } }
public MemcachedNode createMemcachedNode(SocketAddress sa, SocketChannel c, int bufSize) { OperationFactory of = getOperationFactory(); if (of instanceof AsciiOperationFactory) { return new AsciiMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), getOperationTimeout(), getAuthWaitTime(), this); } else if (of instanceof BinaryOperationFactory) { boolean doAuth = false; if (getAuthDescriptor() != null) { doAuth = true; } return new BinaryMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), doAuth, getOperationTimeout(), getAuthWaitTime(), this); } else { throw new IllegalStateException("Unhandled operation factory type " + of); } }
@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()); } } } }
public MemcachedNode createMemcachedNode(SocketAddress sa, SocketChannel c, int bufSize) { OperationFactory of = getOperationFactory(); if (of instanceof AsciiOperationFactory) { return new AsciiMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), getOperationTimeout(), getAuthWaitTime(), this); } else if (of instanceof BinaryOperationFactory) { boolean doAuth = false; if (getAuthDescriptor() != null) { doAuth = true; } return new BinaryMemcachedNodeImpl(sa, c, bufSize, createReadOperationQueue(), createWriteOperationQueue(), createOperationQueue(), getOpQueueMaxBlockTime(), doAuth, getOperationTimeout(), getAuthWaitTime(), this); } else { throw new IllegalStateException("Unhandled operation factory type " + of); } }
@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()); } } }