annotate paper/source/CreateByteBuffer.java @ 149:d57aa814a69a

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