41 lines
1.5 KiB
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();
|
|
}
|
|
}
|