view 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
line wrap: on
line source

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;
}