public final class oadd.org.apache.commons.net.tftp.TFTPDataPacket extends oadd.org.apache.commons.net.tftp.TFTPPacket
{
public static final int MAX_DATA_LENGTH;
public static final int MIN_DATA_LENGTH;
int blockNumber;
private int length;
private int offset;
private byte[] data;
void <init>(java.net.DatagramPacket) throws oadd.org.apache.commons.net.tftp.TFTPPacketException
{
byte[] v, v, v, v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
oadd.org.apache.commons.net.tftp.TFTPPacketException v;
java.net.InetAddress v;
short v, v;
byte v, v, v;
int v, v, v, v, v, v, v;
java.net.DatagramPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v := @parameter: java.net.DatagramPacket;
v = virtualinvoke v.<java.net.DatagramPacket: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.DatagramPacket: int getPort()>();
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacket: void <init>(int,java.net.InetAddress,int)>(3, v, v);
v = virtualinvoke v.<java.net.DatagramPacket: byte[] getData()>();
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data> = v;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int offset> = 4;
v = virtualinvoke v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int getType()>();
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
v = v[1];
if v == v goto label;
v = new oadd.org.apache.commons.net.tftp.TFTPPacketException;
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacketException: void <init>(java.lang.String)>("TFTP operator code does not match type.");
throw v;
label:
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
v = v[2];
v = v & 255;
v = v << 8;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
v = v[3];
v = v & 255;
v = v | v;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber> = v;
v = virtualinvoke v.<java.net.DatagramPacket: int getLength()>();
v = v - 4;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length> = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
if v <= 512 goto label;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length> = 512;
label:
return;
}
public void <init>(java.net.InetAddress, int, int, byte[])
{
java.net.InetAddress v;
byte[] v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
int v, v, v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v := @parameter: java.net.InetAddress;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte[];
v = lengthof v;
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: void <init>(java.net.InetAddress,int,int,byte[],int,int)>(v, v, v, v, 0, v);
return;
}
public void <init>(java.net.InetAddress, int, int, byte[], int, int)
{
byte[] v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
java.net.InetAddress v;
int v, v, v, v, v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v := @parameter: java.net.InetAddress;
v := @parameter: int;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacket: void <init>(int,java.net.InetAddress,int)>(3, v, v);
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber> = v;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data> = v;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int offset> = v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, 512);
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length> = v;
return;
}
public int getBlockNumber()
{
int v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber>;
return v;
}
public byte[] getData()
{
byte[] v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
return v;
}
public int getDataLength()
{
int v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
return v;
}
public int getDataOffset()
{
int v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int offset>;
return v;
}
public java.net.DatagramPacket newDatagram()
{
byte[] v, v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
java.net.InetAddress v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.net.DatagramPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
v = v + 4;
v = newarray (byte)[v];
v[0] = 0;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int type>;
v[1] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber>;
v = (int) 65535;
v = v & v;
v = v >> 8;
v[2] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber>;
v = v & 255;
v[3] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int offset>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 4, v);
v = new java.net.DatagramPacket;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
v = v + 4;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: java.net.InetAddress address>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int port>;
specialinvoke v.<java.net.DatagramPacket: void <init>(byte[],int,java.net.InetAddress,int)>(v, v, v, v);
return v;
}
java.net.DatagramPacket newDatagram(java.net.DatagramPacket, byte[])
{
byte[] v, v, v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
java.net.InetAddress v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.net.DatagramPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v := @parameter: java.net.DatagramPacket;
v := @parameter: byte[];
v[0] = 0;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int type>;
v[1] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber>;
v = (int) 65535;
v = v & v;
v = v >> 8;
v[2] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber>;
v = v & 255;
v[3] = v;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
if v == v goto label;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int offset>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 4, v);
label:
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: java.net.InetAddress address>;
virtualinvoke v.<java.net.DatagramPacket: void setAddress(java.net.InetAddress)>(v);
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int port>;
virtualinvoke v.<java.net.DatagramPacket: void setPort(int)>(v);
virtualinvoke v.<java.net.DatagramPacket: void setData(byte[])>(v);
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
v = v + 4;
virtualinvoke v.<java.net.DatagramPacket: void setLength(int)>(v);
return v;
}
public void setBlockNumber(int)
{
int v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v := @parameter: int;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber> = v;
return;
}
public void setData(byte[], int, int)
{
byte[] v;
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
int v, v, v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: byte[] data> = v;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int offset> = v;
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length> = v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, 512);
v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length> = v;
return;
}
public java.lang.String toString()
{
oadd.org.apache.commons.net.tftp.TFTPDataPacket v;
int v, v;
java.lang.String v, v;
v := @this: oadd.org.apache.commons.net.tftp.TFTPDataPacket;
v = specialinvoke v.<oadd.org.apache.commons.net.tftp.TFTPPacket: java.lang.String toString()>();
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int blockNumber>;
v = v.<oadd.org.apache.commons.net.tftp.TFTPDataPacket: int length>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u DATA \u \u0001");
return v;
}
}