Files
rosetta-wss/src/main/java/im/rosetta/network/codec/PacketOnlineSubscribeCodec.java

41 lines
1.5 KiB
Java

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.PacketOnlineSubscribe;
// Auto-generated by RCC (Rosetta Code Compiler). Do not edit manually.
public class PacketOnlineSubscribeCodec implements Codec<PacketOnlineSubscribe> {
private static final int F_PRIVATE_KEY = 1;
private static final int F_PUBLIC_KEYS = 2;
@Override
public PacketOnlineSubscribe decode(Buffer data, int version) throws ProtocolException {
byte[] payload = data.readBytes(data.remaining());
TlvReader reader = new TlvReader(payload);
PacketOnlineSubscribe packet = new PacketOnlineSubscribe();
if (version >= 1) {
packet.privateKey = reader.getString(F_PRIVATE_KEY);
}
if (version >= 1) {
packet.publicKeys = reader.getStringList(F_PUBLIC_KEYS);
}
return packet;
}
@Override
public byte[] encode(PacketOnlineSubscribe packet, int version) throws ProtocolException {
TlvWriter writer = new TlvWriter();
if (version >= 1) {
if (packet.privateKey != null) writer.writeString(F_PRIVATE_KEY, packet.privateKey);
}
if (version >= 1) {
if (packet.publicKeys != null) writer.writeStringList(F_PUBLIC_KEYS, packet.publicKeys);
}
return writer.toByteArray();
}
}