43 lines
1.9 KiB
Java
43 lines
1.9 KiB
Java
package com.discord.utilities.kryo;
|
|
|
|
import com.discord.utilities.collections.LeastRecentlyAddedSet;
|
|
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;
|
|
/* compiled from: LeastRecentlyAddedSetSerializer.kt */
|
|
public final class LeastRecentlyAddedSetSerializer extends Serializer<LeastRecentlyAddedSet<?>> {
|
|
@Override // com.esotericsoftware.kryo.Serializer
|
|
public LeastRecentlyAddedSet<?> read(Kryo kryo, Input input, Class<LeastRecentlyAddedSet<?>> cls) {
|
|
m.checkNotNullParameter(kryo, "kryo");
|
|
m.checkNotNullParameter(input, "input");
|
|
m.checkNotNullParameter(cls, "type");
|
|
int readInt = input.readInt(true);
|
|
int readInt2 = input.readInt(true);
|
|
LeastRecentlyAddedSet<?> leastRecentlyAddedSet = new LeastRecentlyAddedSet<>(readInt, null, 2, null);
|
|
Iterator<Integer> it = f.until(0, readInt2).iterator();
|
|
while (it.hasNext()) {
|
|
((c0) it).nextInt();
|
|
Object readClassAndObject = kryo.readClassAndObject(input);
|
|
m.checkNotNullExpressionValue(readClassAndObject, "kryo.readClassAndObject(input)");
|
|
leastRecentlyAddedSet.add(readClassAndObject);
|
|
}
|
|
return leastRecentlyAddedSet;
|
|
}
|
|
|
|
public void write(Kryo kryo, Output output, LeastRecentlyAddedSet<?> leastRecentlyAddedSet) {
|
|
m.checkNotNullParameter(kryo, "kryo");
|
|
m.checkNotNullParameter(output, "output");
|
|
m.checkNotNullParameter(leastRecentlyAddedSet, "target");
|
|
output.writeInt(leastRecentlyAddedSet.getMaxSize(), true);
|
|
output.writeInt(leastRecentlyAddedSet.size(), true);
|
|
Iterator<?> it = leastRecentlyAddedSet.iterator();
|
|
while (it.hasNext()) {
|
|
kryo.writeClassAndObject(output, it.next());
|
|
}
|
|
}
|
|
}
|