mutatoroperationimpl.java

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

JAVA
66
字号
// Copyright (c) 2006  Dustin Sallings <dustin@spy.net>package net.spy.memcached.protocol.ascii;import java.nio.ByteBuffer;import net.spy.memcached.KeyUtil;import net.spy.memcached.ops.MutatatorOperation;import net.spy.memcached.ops.Mutator;import net.spy.memcached.ops.OperationCallback;import net.spy.memcached.ops.OperationState;import net.spy.memcached.ops.OperationStatus;/** * Operation for mutating integers inside of memcached. */final class MutatorOperationImpl extends OperationImpl	implements MutatatorOperation {	public static final int OVERHEAD=32;	private static final OperationStatus NOT_FOUND=		new OperationStatus(false, "NOT_FOUND");	private final Mutator mutator;	private final String key;	private final int amount;	public MutatorOperationImpl(Mutator m, String k, int amt,			OperationCallback c) {		super(c);		mutator=m;		key=k;		amount=amt;	}	@Override	public void handleLine(String line) {		getLogger().debug("Result:  %s", line);		OperationStatus found=null;		if(line.equals("NOT_FOUND")) {			found=NOT_FOUND;		} else {			found=new OperationStatus(true, line);		}		getCallback().receivedStatus(found);		transitionState(OperationState.COMPLETE);	}	@Override	public void initialize() {		int size=KeyUtil.getKeyBytes(key).length + OVERHEAD;		ByteBuffer b=ByteBuffer.allocate(size);		setArguments(b, mutator.name(), key, amount);		b.flip();		setBuffer(b);	}	@Override	protected void wasCancelled() {		// XXX:  Replace this comment with why the hell I did this.		getCallback().receivedStatus(CANCELLED);	}}

⌨️ 快捷键说明

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