view src/main/java/christie/datagear/command/PutCommand.java @ 216:176d0b94c1c5

del debug
author akahori
date Tue, 12 Mar 2019 21:53:40 +0900
parents 3bddbfd6ea02
children
line wrap: on
line source

package christie.datagear.command;

import christie.datagear.command.Command;
import christie.datagear.command.CommandType;
import christie.datagear.dg.DataGear;
import christie.datagear.dg.MessagePackDataGear;
import org.msgpack.MessagePack;

import java.io.IOException;
import java.nio.ByteBuffer;

public class PutCommand extends Command {

    public PutCommand(CommandBuilder cb){
        super(cb);
        this.clazz = dg.getClazz();

    }

    @Override
    public void execute() {

    }

    @Override
    public ByteBuffer convert() {
        ByteBuffer buf = null;
        MessagePack packer = new MessagePack();

        try {
            byte[] command = packer.write(createRemoteMessage());
            byte[] data = new MessagePackDataGear(dg.getData()).getMessagePack();
            byte[] dataSize = packer.write(data.length);

            buf = ByteBuffer.allocate(command.length+dataSize.length+data.length);
            buf.put(command);
            buf.put(dataSize);
            buf.put(data);

            buf.flip();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return buf;
    }
}