package im.rosetta.network.codec; import io.orprotocol.ProtocolException; import io.orprotocol.buffer.Buffer; import io.orprotocol.codec.Codec; import io.orprotocol.tlv.read.TlvReader; import io.orprotocol.tlv.write.TlvWriter; import im.rosetta.network.packet.PacketDelivery; // Auto-generated by RCC (Rosetta Code Compiler). Do not edit manually. public class PacketDeliveryCodec implements Codec { private static final int F_MESSAGE_ID = 1; private static final int F_TO_PUBLIC_KEY = 2; @Override public PacketDelivery decode(Buffer data, int version) throws ProtocolException { byte[] payload = data.readBytes(data.remaining()); TlvReader reader = new TlvReader(payload); PacketDelivery packet = new PacketDelivery(); if (version >= 1) { packet.messageId = reader.getString(F_MESSAGE_ID); } if (version >= 1) { packet.toPublicKey = reader.getString(F_TO_PUBLIC_KEY); } return packet; } @Override public byte[] encode(PacketDelivery packet, int version) throws ProtocolException { TlvWriter writer = new TlvWriter(); if (version >= 1) { if (packet.messageId != null) writer.writeString(F_MESSAGE_ID, packet.messageId); } if (version >= 1) { if (packet.toPublicKey != null) writer.writeString(F_TO_PUBLIC_KEY, packet.toPublicKey); } return writer.toByteArray(); } }