Mercurial > hg > Papers > 2016 > nozomi-thesis
diff paper/source/CreateByteBuffer.java @ 3:a97aa059242f
add images & sources
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 05 Feb 2016 21:00:41 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/source/CreateByteBuffer.java Fri Feb 05 21:00:41 2016 +0900 @@ -0,0 +1,36 @@ +public ByteBuffer convert() { + ByteBuffer buf = null; + MessagePack msg = SingletonMessage.getInstance(); + try { + byte[] header = null; + byte[] data = null; + byte[] dataSize = null; + boolean serialized = false; + + switch (type) { + case UPDATE: + case PUT: + case REPLY: + data = msg.write(rData.getObj()); + CommandMessage cm = new CommandMessage(type.id, seq, key, false, serialized); + + header = msg.write(cm); + dataSize = msg.write(data.length); + buf = ByteBuffer.allocate(header.length+dataSize.length+data.length); + buf.put(header); + buf.put(dataSize); + buf.put(data); + break; + default: + header = msg.write(new CommandMessage(type.id, seq, key, quickFlag, false); + buf = ByteBuffer.allocate(header.length); + buf.put(header); + break; + } + + buf.flip(); + } catch (IOException e) { + e.printStackTrace(); + } + return buf; +} \ No newline at end of file