jimu-decompiled/sources/okio/SegmentPool.java
2025-05-13 19:24:51 +02:00

46 lines
1.2 KiB
Java

package okio;
import android.support.v4.media.session.PlaybackStateCompat;
/* loaded from: classes2.dex */
final class SegmentPool {
static final long MAX_SIZE = 65536;
static long byteCount;
static Segment next;
private SegmentPool() {
}
static void recycle(Segment segment) {
if (segment.next != null || segment.prev != null) {
throw new IllegalArgumentException();
}
if (segment.shared) {
return;
}
synchronized (SegmentPool.class) {
if (byteCount + PlaybackStateCompat.ACTION_PLAY_FROM_URI > 65536) {
return;
}
byteCount += PlaybackStateCompat.ACTION_PLAY_FROM_URI;
segment.next = next;
segment.limit = 0;
segment.pos = 0;
next = segment;
}
}
static Segment take() {
synchronized (SegmentPool.class) {
if (next == null) {
return new Segment();
}
Segment segment = next;
next = segment.next;
segment.next = null;
byteCount -= PlaybackStateCompat.ACTION_PLAY_FROM_URI;
return segment;
}
}
}