?? binarymemcachednodeimpl.java
字號:
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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -