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