?? basestoreoperationimpl.java
字號:
package net.spy.memcached.protocol.ascii;import java.nio.ByteBuffer;import net.spy.memcached.KeyUtil;import net.spy.memcached.ops.OperationCallback;import net.spy.memcached.ops.OperationState;import net.spy.memcached.ops.OperationStatus;/** * Base class for ascii store operations (add, set, replace, append, prepend). */abstract class BaseStoreOperationImpl extends OperationImpl { private static final int OVERHEAD = 32; private static final OperationStatus STORED = new OperationStatus(true, "STORED"); protected final String type; protected final String key; protected final int flags; protected final int exp; protected final byte[] data; public BaseStoreOperationImpl(String t, String k, int f, int e, byte[] d, OperationCallback cb) { super(cb); type=t; key=k; flags=f; exp=e; data=d; } @Override public void handleLine(String line) { assert getState() == OperationState.READING : "Read ``" + line + "'' when in " + getState() + " state"; getCallback().receivedStatus(matchStatus(line, STORED)); transitionState(OperationState.COMPLETE); } @Override public void initialize() { ByteBuffer bb=ByteBuffer.allocate(data.length + KeyUtil.getKeyBytes(key).length + OVERHEAD); setArguments(bb, type, key, flags, exp, data.length); assert bb.remaining() >= data.length + 2 : "Not enough room in buffer, need another " + (2 + data.length - bb.remaining()); bb.put(data); bb.put(CRLF); bb.flip(); setBuffer(bb); } @Override protected void wasCancelled() { // XXX: Replace this comment with why I did this getCallback().receivedStatus(CANCELLED); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -