public abstract class oadd.org.apache.hadoop.fs.FSOutputSummer extends java.io.OutputStream
{
private final oadd.org.apache.hadoop.util.DataChecksum sum;
private byte[] buf;
private byte[] checksum;
private int count;
private static final int BUFFER_NUM_CHUNKS;
protected void <init>(oadd.org.apache.hadoop.util.DataChecksum)
{
byte[] v, v;
oadd.org.apache.hadoop.util.DataChecksum v;
int v, v, v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: oadd.org.apache.hadoop.util.DataChecksum;
specialinvoke v.<java.io.OutputStream: void <init>()>();
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum> = v;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getBytesPerChecksum()>();
v = v * 9;
v = newarray (byte)[v];
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf> = v;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int getChecksumSize()>();
v = v * 9;
v = newarray (byte)[v];
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] checksum> = v;
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count> = 0;
return;
}
protected abstract void writeChunk(byte[], int, int, byte[], int, int) throws java.io.IOException;
protected abstract void checkClosed() throws java.io.IOException;
public synchronized void write(int) throws java.io.IOException
{
byte[] v, v;
int v, v, v, v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: int;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v + 1;
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count> = v;
v[v] = v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = lengthof v;
if v != v goto label;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void flushBuffer()>();
label:
return;
}
public synchronized void write(byte[], int, int) throws java.io.IOException
{
byte[] v;
java.lang.ArrayIndexOutOfBoundsException v;
int v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void checkClosed()>();
if v < 0 goto label;
if v < 0 goto label;
v = lengthof v;
v = v - v;
if v <= v goto label;
label:
v = new java.lang.ArrayIndexOutOfBoundsException;
specialinvoke v.<java.lang.ArrayIndexOutOfBoundsException: void <init>()>();
throw v;
label:
v = 0;
label:
if v >= v goto label;
v = v + v;
v = v - v;
v = specialinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int write1(byte[],int,int)>(v, v, v);
v = v + v;
goto label;
label:
return;
}
private int write1(byte[], int, int) throws java.io.IOException
{
byte[] v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = lengthof v;
if v < v goto label;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = lengthof v;
specialinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void writeChecksumChunks(byte[],int,int)>(v, v, v);
return v;
label:
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = lengthof v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v - v;
if v >= v goto label;
v = v;
goto label;
label:
v = v;
label:
v = v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v + v;
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count> = v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = lengthof v;
if v != v goto label;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void flushBuffer()>();
label:
return v;
}
protected synchronized void flushBuffer() throws java.io.IOException
{
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int flushBuffer(boolean,boolean)>(0, 1);
return;
}
protected synchronized int flushBuffer(boolean, boolean) throws java.io.IOException
{
byte[] v, v, v;
oadd.org.apache.hadoop.util.DataChecksum v;
int v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: boolean;
v := @parameter: boolean;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getBytesPerChecksum()>();
v = v % v;
if v == 0 goto label;
v = v;
goto label;
label:
v = v - v;
label:
v = v;
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
specialinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void writeChecksumChunks(byte[],int,int)>(v, 0, v);
if v == 0 goto label;
if v == 0 goto label;
label:
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count> = v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v - v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
goto label;
label:
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count> = 0;
label:
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
v = v - v;
v = v - v;
return v;
}
public void flush() throws java.io.IOException
{
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int flushBuffer(boolean,boolean)>(0, 0);
return;
}
protected synchronized int getBufferedDataSize()
{
int v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count>;
return v;
}
protected int getChecksumSize()
{
int v;
oadd.org.apache.hadoop.util.DataChecksum v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getChecksumSize()>();
return v;
}
protected oadd.org.apache.hadoop.util.DataChecksum getDataChecksum()
{
oadd.org.apache.hadoop.util.DataChecksum v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
return v;
}
protected org.apache.htrace.core.TraceScope createWriteTraceScope()
{
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
return null;
}
private void writeChecksumChunks(byte[], int, int) throws java.io.IOException
{
java.lang.Throwable v;
byte[] v, v, v;
oadd.org.apache.hadoop.util.DataChecksum v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.htrace.core.TraceScope v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] checksum>;
virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: void calculateChunkedSums(byte[],int,int,byte[],int)>(v, v, v, v, 0);
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: org.apache.htrace.core.TraceScope createWriteTraceScope()>();
label:
v = 0;
label:
if v >= v goto label;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getBytesPerChecksum()>();
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getBytesPerChecksum()>();
v = v / v;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int getChecksumSize()>();
v = v * v;
v = v + v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] checksum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int getChecksumSize()>();
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void writeChunk(byte[],int,int,byte[],int,int)>(v, v, v, v, v, v);
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getBytesPerChecksum()>();
v = v + v;
goto label;
label:
if v == null goto label;
virtualinvoke v.<org.apache.htrace.core.TraceScope: void close()>();
goto label;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<org.apache.htrace.core.TraceScope: void close()>();
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public static byte[] convertToByteStream(java.util.zip.Checksum, int)
{
byte[] v, v;
java.util.zip.Checksum v;
int v;
long v;
v := @parameter: java.util.zip.Checksum;
v := @parameter: int;
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = newarray (byte)[v];
v = staticinvoke <oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] int2byte(int,byte[])>(v, v);
return v;
}
static byte[] int2byte(int, byte[])
{
byte[] v;
int v, v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: byte[];
v = lengthof v;
if v == 0 goto label;
v = v >>> 24;
v = v & 255;
v[0] = v;
v = v >>> 16;
v = v & 255;
v[1] = v;
v = v >>> 8;
v = v & 255;
v[2] = v;
v = v >>> 0;
v = v & 255;
v[3] = v;
return v;
label:
return v;
}
protected synchronized void setChecksumBufSize(int)
{
byte[] v, v;
oadd.org.apache.hadoop.util.DataChecksum v;
int v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v := @parameter: int;
v = newarray (byte)[v];
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] buf> = v;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getChecksumSize(int)>(v);
v = newarray (byte)[v];
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: byte[] checksum> = v;
v.<oadd.org.apache.hadoop.fs.FSOutputSummer: int count> = 0;
return;
}
protected synchronized void resetChecksumBufSize()
{
oadd.org.apache.hadoop.util.DataChecksum v;
int v, v;
oadd.org.apache.hadoop.fs.FSOutputSummer v;
v := @this: oadd.org.apache.hadoop.fs.FSOutputSummer;
v = v.<oadd.org.apache.hadoop.fs.FSOutputSummer: oadd.org.apache.hadoop.util.DataChecksum sum>;
v = virtualinvoke v.<oadd.org.apache.hadoop.util.DataChecksum: int getBytesPerChecksum()>();
v = v * 9;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSOutputSummer: void setChecksumBufSize(int)>(v);
return;
}
}