annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 public ByteBuffer convert() {
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 ByteBuffer buf = null;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 MessagePack msg = SingletonMessage.getInstance();
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 try {
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 byte[] header = null;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 byte[] data = null;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 byte[] dataSize = null;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 boolean serialized = false;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 switch (type) {
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 case UPDATE:
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 case PUT:
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 case REPLY:
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 data = msg.write(rData.getObj());
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 CommandMessage cm = new CommandMessage(type.id, seq, key, false, serialized);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 header = msg.write(cm);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 dataSize = msg.write(data.length);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 buf = ByteBuffer.allocate(header.length+dataSize.length+data.length);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 buf.put(header);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 buf.put(dataSize);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 buf.put(data);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 break;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 default:
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 header = msg.write(new CommandMessage(type.id, seq, key, quickFlag, false);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 buf = ByteBuffer.allocate(header.length);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 buf.put(header);
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 break;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 buf.flip();
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 } catch (IOException e) {
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 e.printStackTrace();
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 }
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 return buf;
a97aa059242f add images & sources
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 }