binarymemcachednodeimpl.java

来自「memcached JAVA客户端API,应用广泛,运行比较稳定。」· Java 代码 · 共 52 行

JAVA
52
字号
package net.spy.memcached.protocol.binary;import java.net.SocketAddress;import java.nio.channels.SocketChannel;import java.util.concurrent.BlockingQueue;import net.spy.memcached.ops.GetOperation;import net.spy.memcached.ops.Operation;import net.spy.memcached.ops.OperationState;import net.spy.memcached.protocol.ProxyCallback;import net.spy.memcached.protocol.TCPMemcachedNodeImpl;/** * Implementation of MemcachedNode for speakers of the binary protocol. */public class BinaryMemcachedNodeImpl extends TCPMemcachedNodeImpl {	public BinaryMemcachedNodeImpl(SocketAddress sa, SocketChannel c,			int bufSize, BlockingQueue<Operation> rq,			BlockingQueue<Operation> wq, BlockingQueue<Operation> iq) {		super(sa, c, bufSize, rq, wq, iq);	}	@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) {			getOp=(GetOperation)writeQ.remove();			if(writeQ.peek() instanceof GetOperation) {				OptimizedGetImpl og=new OptimizedGetImpl(getOp);				getOp=og;				while(writeQ.peek() instanceof GetOperation) {					GetOperation o=(GetOperation) writeQ.remove();					if(!o.isCancelled()) {						og.addOperation(o);					}				}				// Initialize the new mega get				getOp.initialize();				assert getOp.getState() == OperationState.WRITING;				ProxyCallback pcb=(ProxyCallback) og.getCallback();				getLogger().debug("Set up %s with %s keys and %s callbacks",					this, pcb.numKeys(), pcb.numCallbacks());			}		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?