Skip to content

Commit

Permalink
Removed some redundant string -> byte[] extractions.
Browse files Browse the repository at this point in the history
  • Loading branch information
dustin committed Jan 23, 2008
1 parent 26fa76e commit 8fc6b1e
Showing 1 changed file with 6 additions and 5 deletions.
Expand Up @@ -19,6 +19,7 @@ class MultiGetOperationImpl extends OperationImpl implements GetOperation {
private static final int CMD_GETQ=9;

private final Map<Integer, String> keys=new HashMap<Integer, String>();
private final Map<Integer, byte[]> bkeys=new HashMap<Integer, byte[]>();
private final Map<String, Integer> rkeys=new HashMap<String, Integer>();

private final int terminalOpaque=generateOpaque();
Expand All @@ -38,6 +39,7 @@ protected int addKey(String k) {
if(rv == null) {
rv=generateOpaque();
keys.put(rv, k);
bkeys.put(rv, KeyUtil.getKeyBytes(k));
rkeys.put(k, rv);
}
return rv;
Expand All @@ -46,19 +48,18 @@ protected int addKey(String k) {
@Override
public void initialize() {
int size=(1+keys.size()) * MIN_RECV_PACKET;
for(byte[] b : KeyUtil.getKeyBytes(keys.values())) {
for(byte[] b : bkeys.values()) {
size += b.length;
}
// set up the initial header stuff
ByteBuffer bb=ByteBuffer.allocate(size);
for(Map.Entry<Integer, String> me : keys.entrySet()) {
final String key=me.getValue();
final byte[] keyBytes=KeyUtil.getKeyBytes(key);
for(Map.Entry<Integer, byte[]> me : bkeys.entrySet()) {
final byte[] keyBytes=me.getValue();

// Custom header
bb.put(REQ_MAGIC);
bb.put((byte)CMD_GETQ);
bb.putShort((short)KeyUtil.getKeyBytes(key).length);
bb.putShort((short)keyBytes.length);
bb.put((byte)0); // extralen
bb.put((byte)0); // data type
bb.putShort((short)0); // reserved
Expand Down

0 comments on commit 8fc6b1e

Please sign in to comment.