Mercurial > hg > Papers > 2016 > nozomi-thesis
comparison 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 |
comparison
equal
deleted
inserted
replaced
2:09b689ba5d70 | 3:a97aa059242f |
---|---|
1 public ByteBuffer convert() { | |
2 ByteBuffer buf = null; | |
3 MessagePack msg = SingletonMessage.getInstance(); | |
4 try { | |
5 byte[] header = null; | |
6 byte[] data = null; | |
7 byte[] dataSize = null; | |
8 boolean serialized = false; | |
9 | |
10 switch (type) { | |
11 case UPDATE: | |
12 case PUT: | |
13 case REPLY: | |
14 data = msg.write(rData.getObj()); | |
15 CommandMessage cm = new CommandMessage(type.id, seq, key, false, serialized); | |
16 | |
17 header = msg.write(cm); | |
18 dataSize = msg.write(data.length); | |
19 buf = ByteBuffer.allocate(header.length+dataSize.length+data.length); | |
20 buf.put(header); | |
21 buf.put(dataSize); | |
22 buf.put(data); | |
23 break; | |
24 default: | |
25 header = msg.write(new CommandMessage(type.id, seq, key, quickFlag, false); | |
26 buf = ByteBuffer.allocate(header.length); | |
27 buf.put(header); | |
28 break; | |
29 } | |
30 | |
31 buf.flip(); | |
32 } catch (IOException e) { | |
33 e.printStackTrace(); | |
34 } | |
35 return buf; | |
36 } |