Files
tustu/app/aI/InputStreamExtension.java
2026-01-11 20:30:56 +00:00

126 lines
3.2 KiB
Java

package aI;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
public class InputStreamExtension extends InputStream {
private boolean d = true;
private List e = new ArrayList();
private byte[] f = null;
protected int a;
protected int b = 0;
protected int c;
public InputStreamExtension(byte[] paramArrayOfbyte) {
this.f = paramArrayOfbyte;
this.a = 0;
this.c = paramArrayOfbyte.length;
}
public synchronized int read() {
if (this.a == this.c && this.d)
b(a());
return (this.a < this.c) ? (this.f[this.a++] & 0xFF) : -1;
}
public synchronized int read(byte[] paramArrayOfbyte, int paramInt1, int paramInt2) {
if (paramArrayOfbyte == null)
throw new NullPointerException();
if (paramInt1 < 0 || paramInt2 < 0 || paramInt2 > paramArrayOfbyte.length - paramInt1)
throw new IndexOutOfBoundsException();
if (this.a >= this.c) {
if (this.a == this.c && this.d)
b(a());
if (this.a >= this.c)
return -1;
}
if (this.a + paramInt2 > this.c)
paramInt2 = this.c - this.a;
if (paramInt2 <= 0)
return 0;
System.arraycopy(this.f, this.a, paramArrayOfbyte, paramInt1, paramInt2);
this.a += paramInt2;
return paramInt2;
}
public synchronized long skip(long paramLong) {
if (this.a + paramLong > this.c)
paramLong = (this.c - this.a);
if (paramLong < 0L)
return 0L;
this.a = (int)(this.a + paramLong);
return paramLong;
}
public synchronized int available() {
return this.c - this.a;
}
public boolean markSupported() {
return true;
}
public void mark(int paramInt) {
this.b = this.a;
}
public synchronized void reset() {
this.a = this.b;
}
public void close() {}
public synchronized void a(byte[] paramArrayOfbyte) {
this.e.add(paramArrayOfbyte);
notify();
}
private void b(byte[] paramArrayOfbyte) {
if (!this.d)
return;
if (paramArrayOfbyte == null)
throw new IOException("TIMEOUT on wait for next buffer. Expected more buffers, Log file likely truncated.");
this.f = paramArrayOfbyte;
this.a = 0;
this.c = paramArrayOfbyte.length;
this.b = 0;
}
public synchronized void a(boolean paramBoolean) {
this.d = paramBoolean;
if (!paramBoolean)
notify();
}
public synchronized byte[] a() {
if (this.e.isEmpty() && this.d)
try {
wait(3000L);
} catch (InterruptedException interruptedException) {
Logger.getLogger(a.class.getName()).log(Level.SEVERE, (String)null, interruptedException);
}
byte[] arrayOfByte = null;
if (!this.e.isEmpty()) {
arrayOfByte = this.e.get(0);
this.e.remove(0);
} else if (this.d) {
Logger.getLogger(a.class.getName()).log(Level.WARNING, "TIMEOUT on wait for next buffer. Expected more buffers, did not get it in 3000 ms. Log file likely truncated.");
}
return arrayOfByte;
}
}
/* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/aI/a.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.1.3
*/