view src/main/java/jp/ac/u_ryukyu/treevnc/CheckDelayReply.java @ 280:9c5874d0f37e

fix adjustHdSizeButton button, this button send REQUEST_SINGLE_DISPLAY_WIDTH
author oc
date Sun, 11 Jan 2015 03:38:25 +0900
parents e21ef8f60f7a
children 3af5f4af2d63
line wrap: on
line source

package jp.ac.u_ryukyu.treevnc;

import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;

import com.glavsoft.exceptions.TransportException;
import com.glavsoft.rfb.client.ClientToServerMessage;
import com.glavsoft.transport.Writer;

public class CheckDelayReply implements ClientToServerMessage {

    private long time;
    private int port;
    private int addressLength;
    private byte[] byteaddress;
    
    public CheckDelayReply(long time, int port, String address) throws UnsupportedEncodingException {
        this.time = time;
        this.port = port;
        this.addressLength = address.length();
        this.byteaddress = address.getBytes("UTF-8");
    }
    
    
    @Override
    public void send(Writer writer) throws TransportException {
        ByteBuffer out = ByteBuffer.allocate(18 + addressLength);
        out.order(ByteOrder.BIG_ENDIAN);
        out.put(CHECK_DELAY_REPLY);
        out.put((byte)0);   // padding
        out.putLong(time);
        out.putInt(port);
        out.putInt(addressLength);
        out.put(byteaddress);
        writer.write(out.array(), 0, out.position());
        writer.flush();
    }

}