42 lines
1.9 KiB
Java
42 lines
1.9 KiB
Java
package com.discord.utilities.kryo;
|
|
|
|
import com.discord.utilities.collections.SnowflakePartitionMap;
|
|
import com.esotericsoftware.kryo.Kryo;
|
|
import com.esotericsoftware.kryo.Serializer;
|
|
import com.esotericsoftware.kryo.io.Input;
|
|
import com.esotericsoftware.kryo.io.Output;
|
|
import d0.d0.f;
|
|
import d0.t.c0;
|
|
import d0.z.d.m;
|
|
import java.util.Iterator;
|
|
import java.util.Map;
|
|
/* compiled from: SnowflakePartitionMapSerializer.kt */
|
|
public final class SnowflakePartitionMapSerializer extends Serializer<SnowflakePartitionMap<?>> {
|
|
@Override // com.esotericsoftware.kryo.Serializer
|
|
public SnowflakePartitionMap<?> read(Kryo kryo, Input input, Class<SnowflakePartitionMap<?>> cls) {
|
|
m.checkNotNullParameter(kryo, "kryo");
|
|
m.checkNotNullParameter(input, "input");
|
|
m.checkNotNullParameter(cls, "type");
|
|
int readInt = input.readInt(true);
|
|
int readInt2 = input.readInt(true);
|
|
SnowflakePartitionMap<?> snowflakePartitionMap = new SnowflakePartitionMap<>(readInt);
|
|
Iterator<Integer> it = f.until(0, readInt2).iterator();
|
|
while (it.hasNext()) {
|
|
((c0) it).nextInt();
|
|
snowflakePartitionMap.put(Long.valueOf(input.readLong()), kryo.readClassAndObject(input));
|
|
}
|
|
return snowflakePartitionMap;
|
|
}
|
|
|
|
public void write(Kryo kryo, Output output, SnowflakePartitionMap<?> snowflakePartitionMap) {
|
|
m.checkNotNullParameter(kryo, "kryo");
|
|
m.checkNotNullParameter(output, "output");
|
|
m.checkNotNullParameter(snowflakePartitionMap, "target");
|
|
output.writeInt(snowflakePartitionMap.getNumPartitions(), true);
|
|
output.writeInt(snowflakePartitionMap.size(), true);
|
|
for (Map.Entry<Long, ?> entry : snowflakePartitionMap.entrySet()) {
|
|
output.writeLong(entry.getKey().longValue());
|
|
kryo.writeClassAndObject(output, entry.getValue());
|
|
}
|
|
}
|
|
}
|