Public feed
#598246
private void readData()
{
try
{
int j = inputStream.available();
if(expectedSize == 0 && j >= 6)
{
waiting = true;
for(int k = 0; k < 6; k += inputStream.read(ioBuffer, k, 6 - k));
int l = ioBuffer[0] & 0xff; //idx type
int j1 = ((ioBuffer[1] & 0xff) << 8) + (ioBuffer[2] & 0xff); //id
int l1 = ((ioBuffer[3] & 0xff) << 8) + (ioBuffer[4] & 0xff); // bytearray length
int i2 = ioBuffer[5] & 0xff; //status?
current = null;
for(OnDemandData onDemandData = (OnDemandData) requested.reverseGetFirst(); onDemandData != null; onDemandData = (OnDemandData) requested.reverseGetNext())
{
if(onDemandData.dataType == l && onDemandData.ID == j1)
current = onDemandData;
if(current != null)
onDemandData.loopCycle = 0;
}
if(current != null)
{
loopCycle = 0;
if(l1 == 0)
{
signlink.reporterror("Rej: " + l + "," + j1);
current.buffer = null;
if(current.incomplete)
synchronized(aClass19_1358)
{
aClass19_1358.insertHead(current);
}
else
current.unlink();
current = null;
} else
{
if(current.buffer == null && i2 == 0)
current.buffer = new byte[l1];
if(current.buffer == null && i2 != 0)
throw new IOException("missing start of file");
}
}
completedSize = i2 * 500;
expectedSize = 500;
if(expectedSize > l1 - i2 * 500)
expectedSize = l1 - i2 * 500;
}
if(expectedSize > 0 && j >= expectedSize)
{
waiting = true;
byte abyte0[] = ioBuffer;
int i1 = 0;
if(current != null)
{
abyte0 = current.buffer;
i1 = completedSize;
}
for(int k1 = 0; k1 < expectedSize; k1 += inputStream.read(abyte0, k1 + i1, expectedSize - k1));
if(expectedSize + completedSize >= abyte0.length && current != null)
{
if(clientInstance.decompressors[0] != null)
clientInstance.decompressors[current.dataType + 1].method234(abyte0.length, abyte0, current.ID);
if(!current.incomplete && current.dataType == 3)
{
current.incomplete = true;
current.dataType = 93;
}
if(current.incomplete)
synchronized(aClass19_1358)
{
aClass19_1358.insertHead(current);
}
else
current.unlink();
}
expectedSize = 0;
}
}
catch(IOException ioexception)
{
try
{
socket.close();
}
catch(Exception _ex) { }
socket = null;
inputStream = null;
outputStream = null;
expectedSize = 0;
}
}