package ch.ethz.syslab.telesto.common.protocol; import java.nio.ByteBuffer; import ch.ethz.syslab.telesto.common.model.Message; import ch.ethz.syslab.telesto.common.protocol.handler.PacketProcessingException; import ch.ethz.syslab.telesto.common.protocol.handler.ProtocolHandler; /* * Do not edit this file! * * Edit the template at tools/protocol/telesto/templates/packet.java instead. */ public class GetMessagesResponsePacket extends Packet { public Message[] messages; public GetMessagesResponsePacket() { } public GetMessagesResponsePacket(Message[] messages) { this.messages = messages; } public GetMessagesResponsePacket(int packetId, Message[] messages) { this.packetId = packetId; this.messages = messages; } @Override public byte methodId() { return 46; } @Override public void emit(ByteBuffer buffer) { int lengthIndex = buffer.position(); buffer.position(lengthIndex + 2); buffer.put(methodId()); buffer.putInt(packetId); buffer.putInt(messages.length); for (int i = 0; i < messages.length; i++) { putMessage(buffer, messages[i]); } buffer.putShort(lengthIndex, (short) (buffer.position() - lengthIndex - 2)); } @Override public void parse(ByteBuffer buffer) { packetId = buffer.getInt(); messages = new Message[buffer.getInt()]; for (int i = 0; i < messages.length; i++) { messages[i] = getMessage(buffer); } } @Override public GetMessagesResponsePacket newInstance() { return new GetMessagesResponsePacket(); } public Packet getHandled(ProtocolHandler handler) throws PacketProcessingException { return handler.handle((GetMessagesResponsePacket) this); } public String toString() { return "GetMessagesResponsePacket"; } }