public class org.apache.commons.net.tftp.TFTPClient extends org.apache.commons.net.tftp.TFTP
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.net.tftp.TFTPClient
super_class: org.apache.commons.net.tftp.TFTP
{
public static final int DEFAULT_MAX_TIMEOUTS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private int __maxTimeouts;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long totalBytesReceived;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long totalBytesSent;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.commons.net.tftp.TFTP.<init>:()V
1: aload 0
lconst_0
putfield org.apache.commons.net.tftp.TFTPClient.totalBytesReceived:J
2: aload 0
lconst_0
putfield org.apache.commons.net.tftp.TFTPClient.totalBytesSent:J
3: aload 0
iconst_5
putfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/net/tftp/TFTPClient;
public void setMaxTimeouts(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpge 3
1: aload 0
iconst_1
putfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 5 1 numTimeouts I
MethodParameters:
Name Flags
numTimeouts
public int getMaxTimeouts();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/net/tftp/TFTPClient;
public long getTotalBytesReceived();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.net.tftp.TFTPClient.totalBytesReceived:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/net/tftp/TFTPClient;
public long getTotalBytesSent();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.net.tftp.TFTPClient.totalBytesSent:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/net/tftp/TFTPClient;
public int receiveFile(java.lang.String, int, java.io.OutputStream, java.net.InetAddress, int);
descriptor: (Ljava/lang/String;ILjava/io/OutputStream;Ljava/net/InetAddress;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=23, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: iconst_0
istore 7
start local 7 2: iconst_1
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: iconst_0
istore 10
start local 10 5: aload 0
lconst_0
putfield org.apache.commons.net.tftp.TFTPClient.totalBytesReceived:J
6: iload 2
ifne 8
7: new org.apache.commons.net.io.FromNetASCIIOutputStream
dup
aload 3
invokespecial org.apache.commons.net.io.FromNetASCIIOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
8: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.OutputStream java.net.InetAddress int int int int int int
StackMap stack:
new org.apache.commons.net.tftp.TFTPReadRequestPacket
dup
aload 4
iload 5
aload 1
iload 2
invokespecial org.apache.commons.net.tftp.TFTPReadRequestPacket.<init>:(Ljava/net/InetAddress;ILjava/lang/String;I)V
astore 11
start local 11 9: new org.apache.commons.net.tftp.TFTPAckPacket
dup
aload 4
iload 5
iconst_0
invokespecial org.apache.commons.net.tftp.TFTPAckPacket.<init>:(Ljava/net/InetAddress;II)V
astore 12
start local 12 10: aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.beginBufferedOps:()V
11: iconst_1
istore 13
start local 13 12: StackMap locals: org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPAckPacket int
StackMap stack:
aload 0
aload 11
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
13: iconst_1
istore 14
start local 14 14: iconst_0
istore 15
start local 15 15: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedReceive:()Lorg/apache/commons/net/tftp/TFTPPacket;
astore 16
start local 16 16: aload 16
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getPort:()I
istore 17
start local 17 17: aload 16
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getAddress:()Ljava/net/InetAddress;
astore 18
start local 18 18: iload 13
ifeq 33
19: iconst_0
istore 13
20: iload 17
iload 5
if_icmpne 27
21: new org.apache.commons.net.tftp.TFTPErrorPacket
dup
aload 18
22: iload 17
iconst_5
23: ldc "INCORRECT SOURCE PORT"
24: invokespecial org.apache.commons.net.tftp.TFTPErrorPacket.<init>:(Ljava/net/InetAddress;IILjava/lang/String;)V
astore 19
start local 19 25: aload 0
aload 19
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
26: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Incorrect source port ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") in request reply."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 19 27: StackMap locals: org.apache.commons.net.tftp.TFTPPacket int java.net.InetAddress
StackMap stack:
iload 17
istore 9
28: aload 12
iload 9
invokevirtual org.apache.commons.net.tftp.TFTPAckPacket.setPort:(I)V
29: aload 4
aload 18
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifne 33
30: aload 18
astore 4
31: aload 12
aload 4
invokevirtual org.apache.commons.net.tftp.TFTPAckPacket.setAddress:(Ljava/net/InetAddress;)V
32: aload 11
aload 4
invokevirtual org.apache.commons.net.tftp.TFTPPacket.setAddress:(Ljava/net/InetAddress;)V
33: StackMap locals:
StackMap stack:
aload 4
aload 18
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 65
iload 17
iload 9
if_icmpne 65
34: aload 16
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getType:()I
tableswitch { // 3 - 5
3: 39
4: 63
5: 35
default: 63
}
35: StackMap locals:
StackMap stack:
aload 16
checkcast org.apache.commons.net.tftp.TFTPErrorPacket
astore 19
start local 19 36: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual org.apache.commons.net.tftp.TFTPErrorPacket.getError:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: ldc " received: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 19
invokevirtual org.apache.commons.net.tftp.TFTPErrorPacket.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 19 39: StackMap locals:
StackMap stack:
aload 16
checkcast org.apache.commons.net.tftp.TFTPDataPacket
astore 20
start local 20 40: aload 20
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.getDataLength:()I
istore 10
41: aload 20
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.getBlockNumber:()I
istore 7
42: iload 7
iload 8
if_icmpne 57
43: aload 3
aload 20
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.getData:()[B
aload 20
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.getDataOffset:()I
iload 10
invokevirtual java.io.OutputStream.write:([BII)V
44: goto 52
StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.OutputStream java.net.InetAddress int int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPAckPacket int int int org.apache.commons.net.tftp.TFTPPacket int java.net.InetAddress top org.apache.commons.net.tftp.TFTPDataPacket
StackMap stack: java.io.IOException
45: astore 21
start local 21 46: new org.apache.commons.net.tftp.TFTPErrorPacket
dup
aload 4
iload 9
47: iconst_3
48: ldc "File write failed."
49: invokespecial org.apache.commons.net.tftp.TFTPErrorPacket.<init>:(Ljava/net/InetAddress;IILjava/lang/String;)V
astore 19
start local 19 50: aload 0
aload 19
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
51: aload 21
athrow
end local 21 end local 19 52: StackMap locals:
StackMap stack:
iinc 8 1
53: iload 8
ldc 65535
if_icmple 55
54: iconst_0
istore 8
55: StackMap locals:
StackMap stack:
iconst_0
istore 14
56: goto 79
57: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.discardPackets:()V
58: iload 7
iload 8
ifne 59
ldc 65535
goto 60
StackMap locals:
StackMap stack: int
59: iload 8
iconst_1
isub
StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.OutputStream java.net.InetAddress int int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPAckPacket int int int org.apache.commons.net.tftp.TFTPPacket int java.net.InetAddress top org.apache.commons.net.tftp.TFTPDataPacket
StackMap stack: int int
60: if_icmpne 79
61: iconst_0
istore 14
62: goto 79
end local 20 63: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.OutputStream java.net.InetAddress int int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPAckPacket int int int org.apache.commons.net.tftp.TFTPPacket int java.net.InetAddress
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Received unexpected packet type ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 16
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getType:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals:
StackMap stack:
goto 79
65: StackMap locals:
StackMap stack:
new org.apache.commons.net.tftp.TFTPErrorPacket
dup
aload 18
iload 17
66: iconst_5
67: ldc "Unexpected host or port."
68: invokespecial org.apache.commons.net.tftp.TFTPErrorPacket.<init>:(Ljava/net/InetAddress;IILjava/lang/String;)V
astore 19
start local 19 69: aload 0
aload 19
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
end local 19 end local 18 end local 17 end local 16 70: goto 79
StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.OutputStream java.net.InetAddress int int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPAckPacket int int int
StackMap stack: java.net.SocketException
71: pop
72: iinc 15 1
iload 15
aload 0
getfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
if_icmplt 79
73: new java.io.IOException
dup
ldc "Connection timed out."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
74: StackMap locals:
StackMap stack: java.io.InterruptedIOException
pop
75: iinc 15 1
iload 15
aload 0
getfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
if_icmplt 79
76: new java.io.IOException
dup
ldc "Connection timed out."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
77: StackMap locals:
StackMap stack: org.apache.commons.net.tftp.TFTPPacketException
astore 16
start local 16 78: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Bad packet: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 16
invokevirtual org.apache.commons.net.tftp.TFTPPacketException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 16 79: StackMap locals:
StackMap stack:
iload 14
ifne 15
80: aload 12
iload 7
invokevirtual org.apache.commons.net.tftp.TFTPAckPacket.setBlockNumber:(I)V
81: aload 12
astore 11
82: iload 6
iload 10
iadd
istore 6
83: aload 0
dup
getfield org.apache.commons.net.tftp.TFTPClient.totalBytesReceived:J
iload 10
i2l
ladd
putfield org.apache.commons.net.tftp.TFTPClient.totalBytesReceived:J
end local 15 end local 14 84: iload 10
sipush 512
if_icmpeq 12
85: aload 0
aload 11
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
86: goto 90
StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.OutputStream java.net.InetAddress int int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPAckPacket int
StackMap stack: java.lang.Throwable
87: astore 22
88: aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.endBufferedOps:()V
89: aload 22
athrow
90: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.endBufferedOps:()V
91: iload 6
ireturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 92 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 92 1 filename Ljava/lang/String;
0 92 2 mode I
0 92 3 output Ljava/io/OutputStream;
0 92 4 host Ljava/net/InetAddress;
0 92 5 port I
1 92 6 bytesRead I
2 92 7 lastBlock I
3 92 8 block I
4 92 9 hostPort I
5 92 10 dataLength I
9 92 11 sent Lorg/apache/commons/net/tftp/TFTPPacket;
10 92 12 ack Lorg/apache/commons/net/tftp/TFTPAckPacket;
12 92 13 justStarted Z
14 84 14 wantReply Z
15 84 15 timeouts I
16 70 16 received Lorg/apache/commons/net/tftp/TFTPPacket;
17 70 17 recdPort I
18 70 18 recdAddress Ljava/net/InetAddress;
25 27 19 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
36 39 19 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
50 52 19 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
40 63 20 data Lorg/apache/commons/net/tftp/TFTPDataPacket;
46 52 21 e Ljava/io/IOException;
69 70 19 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
78 79 16 e Lorg/apache/commons/net/tftp/TFTPPacketException;
Exception table:
from to target type
43 44 45 Class java.io.IOException
15 70 71 Class java.net.SocketException
15 70 74 Class java.io.InterruptedIOException
15 70 77 Class org.apache.commons.net.tftp.TFTPPacketException
12 87 87 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
filename
mode
output
host
port
public int receiveFile(java.lang.String, int, java.io.OutputStream, java.lang.String, int);
descriptor: (Ljava/lang/String;ILjava/io/OutputStream;Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
aload 3
aload 4
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
1: iload 5
2: invokevirtual org.apache.commons.net.tftp.TFTPClient.receiveFile:(Ljava/lang/String;ILjava/io/OutputStream;Ljava/net/InetAddress;I)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 3 1 filename Ljava/lang/String;
0 3 2 mode I
0 3 3 output Ljava/io/OutputStream;
0 3 4 hostname Ljava/lang/String;
0 3 5 port I
Exceptions:
throws java.net.UnknownHostException, java.io.IOException
MethodParameters:
Name Flags
filename
mode
output
hostname
port
public int receiveFile(java.lang.String, int, java.io.OutputStream, java.net.InetAddress);
descriptor: (Ljava/lang/String;ILjava/io/OutputStream;Ljava/net/InetAddress;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 3
aload 4
bipush 69
invokevirtual org.apache.commons.net.tftp.TFTPClient.receiveFile:(Ljava/lang/String;ILjava/io/OutputStream;Ljava/net/InetAddress;I)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 1 1 filename Ljava/lang/String;
0 1 2 mode I
0 1 3 output Ljava/io/OutputStream;
0 1 4 host Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
filename
mode
output
host
public int receiveFile(java.lang.String, int, java.io.OutputStream, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/io/OutputStream;Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 3
aload 4
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
1: bipush 69
2: invokevirtual org.apache.commons.net.tftp.TFTPClient.receiveFile:(Ljava/lang/String;ILjava/io/OutputStream;Ljava/net/InetAddress;I)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 3 1 filename Ljava/lang/String;
0 3 2 mode I
0 3 3 output Ljava/io/OutputStream;
0 3 4 hostname Ljava/lang/String;
Exceptions:
throws java.net.UnknownHostException, java.io.IOException
MethodParameters:
Name Flags
filename
mode
output
hostname
public void sendFile(java.lang.String, int, java.io.InputStream, java.net.InetAddress, int);
descriptor: (Ljava/lang/String;ILjava/io/InputStream;Ljava/net/InetAddress;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=20, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: iconst_0
istore 7
start local 7 2: iconst_1
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: aload 0
lconst_0
putfield org.apache.commons.net.tftp.TFTPClient.totalBytesSent:J
5: iload 2
ifne 7
6: new org.apache.commons.net.io.ToNetASCIIInputStream
dup
aload 3
invokespecial org.apache.commons.net.io.ToNetASCIIInputStream.<init>:(Ljava/io/InputStream;)V
astore 3
7: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.InputStream java.net.InetAddress int int int int int
StackMap stack:
new org.apache.commons.net.tftp.TFTPWriteRequestPacket
dup
aload 4
iload 5
aload 1
iload 2
invokespecial org.apache.commons.net.tftp.TFTPWriteRequestPacket.<init>:(Ljava/net/InetAddress;ILjava/lang/String;I)V
astore 10
start local 10 8: new org.apache.commons.net.tftp.TFTPDataPacket
dup
aload 4
iload 5
iconst_0
aload 0
getfield org.apache.commons.net.tftp.TFTPClient._sendBuffer:[B
iconst_4
iconst_0
invokespecial org.apache.commons.net.tftp.TFTPDataPacket.<init>:(Ljava/net/InetAddress;II[BII)V
astore 11
start local 11 9: aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.beginBufferedOps:()V
10: StackMap locals: org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPDataPacket
StackMap stack:
aload 0
aload 10
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
11: iconst_1
istore 12
start local 12 12: iconst_0
istore 13
start local 13 13: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedReceive:()Lorg/apache/commons/net/tftp/TFTPPacket;
astore 14
start local 14 14: aload 14
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getAddress:()Ljava/net/InetAddress;
astore 15
start local 15 15: aload 14
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getPort:()I
istore 16
start local 16 16: iload 8
ifeq 31
17: iconst_0
istore 8
18: iload 16
iload 5
if_icmpne 25
19: new org.apache.commons.net.tftp.TFTPErrorPacket
dup
aload 15
20: iload 16
iconst_5
21: ldc "INCORRECT SOURCE PORT"
22: invokespecial org.apache.commons.net.tftp.TFTPErrorPacket.<init>:(Ljava/net/InetAddress;IILjava/lang/String;)V
astore 17
start local 17 23: aload 0
aload 17
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
24: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Incorrect source port ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") in request reply."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 17 25: StackMap locals: org.apache.commons.net.tftp.TFTPPacket java.net.InetAddress int
StackMap stack:
iload 16
istore 7
26: aload 11
iload 7
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.setPort:(I)V
27: aload 4
aload 15
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifne 31
28: aload 15
astore 4
29: aload 11
aload 4
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.setAddress:(Ljava/net/InetAddress;)V
30: aload 10
aload 4
invokevirtual org.apache.commons.net.tftp.TFTPPacket.setAddress:(Ljava/net/InetAddress;)V
31: StackMap locals:
StackMap stack:
aload 4
aload 15
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 48
iload 16
iload 7
if_icmpne 48
32: aload 14
invokevirtual org.apache.commons.net.tftp.TFTPPacket.getType:()I
tableswitch { // 4 - 5
4: 37
5: 33
default: 46
}
33: StackMap locals:
StackMap stack:
aload 14
checkcast org.apache.commons.net.tftp.TFTPErrorPacket
astore 17
start local 17 34: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual org.apache.commons.net.tftp.TFTPErrorPacket.getError:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
35: ldc " received: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 17
invokevirtual org.apache.commons.net.tftp.TFTPErrorPacket.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 17 37: StackMap locals:
StackMap stack:
aload 14
checkcast org.apache.commons.net.tftp.TFTPAckPacket
invokevirtual org.apache.commons.net.tftp.TFTPAckPacket.getBlockNumber:()I
istore 18
start local 18 38: iload 18
iload 6
if_icmpne 44
39: iinc 6 1
40: iload 6
ldc 65535
if_icmple 42
41: iconst_0
istore 6
42: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.InputStream java.net.InetAddress int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPDataPacket int int org.apache.commons.net.tftp.TFTPPacket java.net.InetAddress int top int
StackMap stack:
iconst_0
istore 12
43: goto 63
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.discardPackets:()V
45: goto 63
end local 18 46: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.InputStream java.net.InetAddress int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPDataPacket int int org.apache.commons.net.tftp.TFTPPacket java.net.InetAddress int
StackMap stack:
new java.io.IOException
dup
ldc "Received unexpected packet type."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals:
StackMap stack:
goto 63
48: StackMap locals:
StackMap stack:
new org.apache.commons.net.tftp.TFTPErrorPacket
dup
aload 15
49: iload 16
50: iconst_5
51: ldc "Unexpected host or port."
52: invokespecial org.apache.commons.net.tftp.TFTPErrorPacket.<init>:(Ljava/net/InetAddress;IILjava/lang/String;)V
astore 17
start local 17 53: aload 0
aload 17
invokevirtual org.apache.commons.net.tftp.TFTPClient.bufferedSend:(Lorg/apache/commons/net/tftp/TFTPPacket;)V
end local 17 end local 16 end local 15 end local 14 54: goto 63
StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.InputStream java.net.InetAddress int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPDataPacket int int
StackMap stack: java.net.SocketException
55: pop
56: iinc 13 1
iload 13
aload 0
getfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
if_icmplt 63
57: new java.io.IOException
dup
ldc "Connection timed out."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals:
StackMap stack: java.io.InterruptedIOException
pop
59: iinc 13 1
iload 13
aload 0
getfield org.apache.commons.net.tftp.TFTPClient.__maxTimeouts:I
if_icmplt 63
60: new java.io.IOException
dup
ldc "Connection timed out."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
61: StackMap locals:
StackMap stack: org.apache.commons.net.tftp.TFTPPacketException
astore 14
start local 14 62: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Bad packet: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual org.apache.commons.net.tftp.TFTPPacketException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 14 63: StackMap locals:
StackMap stack:
iload 12
ifne 13
64: iload 9
ifeq 66
65: goto 87
66: StackMap locals:
StackMap stack:
sipush 512
istore 14
start local 14 67: iconst_4
istore 15
start local 15 68: iconst_0
istore 16
start local 16 69: iconst_0
istore 17
start local 17 70: goto 74
71: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.InputStream java.net.InetAddress int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPDataPacket int int int int int int
StackMap stack:
iload 15
iload 17
iadd
istore 15
72: iload 14
iload 17
isub
istore 14
73: iload 16
iload 17
iadd
istore 16
74: StackMap locals:
StackMap stack:
iload 14
ifle 77
75: aload 3
aload 0
getfield org.apache.commons.net.tftp.TFTPClient._sendBuffer:[B
iload 15
iload 14
invokevirtual java.io.InputStream.read:([BII)I
dup
istore 17
76: ifgt 71
77: StackMap locals:
StackMap stack:
iload 16
sipush 512
if_icmpge 79
78: iconst_1
istore 9
79: StackMap locals:
StackMap stack:
aload 11
iload 6
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.setBlockNumber:(I)V
80: aload 11
aload 0
getfield org.apache.commons.net.tftp.TFTPClient._sendBuffer:[B
iconst_4
iload 16
invokevirtual org.apache.commons.net.tftp.TFTPDataPacket.setData:([BII)V
81: aload 11
astore 10
82: aload 0
dup
getfield org.apache.commons.net.tftp.TFTPClient.totalBytesSent:J
iload 16
i2l
ladd
putfield org.apache.commons.net.tftp.TFTPClient.totalBytesSent:J
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 83: goto 10
84: StackMap locals: org.apache.commons.net.tftp.TFTPClient java.lang.String int java.io.InputStream java.net.InetAddress int int int int int org.apache.commons.net.tftp.TFTPPacket org.apache.commons.net.tftp.TFTPDataPacket
StackMap stack: java.lang.Throwable
astore 19
85: aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.endBufferedOps:()V
86: aload 19
athrow
87: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.net.tftp.TFTPClient.endBufferedOps:()V
88: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 89 1 filename Ljava/lang/String;
0 89 2 mode I
0 89 3 input Ljava/io/InputStream;
0 89 4 host Ljava/net/InetAddress;
0 89 5 port I
1 89 6 block I
2 89 7 hostPort I
3 89 8 justStarted Z
4 89 9 lastAckWait Z
8 89 10 sent Lorg/apache/commons/net/tftp/TFTPPacket;
9 89 11 data Lorg/apache/commons/net/tftp/TFTPDataPacket;
12 83 12 wantReply Z
13 83 13 timeouts I
14 54 14 received Lorg/apache/commons/net/tftp/TFTPPacket;
15 54 15 recdAddress Ljava/net/InetAddress;
16 54 16 recdPort I
23 25 17 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
34 37 17 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
38 46 18 lastBlock I
53 54 17 error Lorg/apache/commons/net/tftp/TFTPErrorPacket;
62 63 14 e Lorg/apache/commons/net/tftp/TFTPPacketException;
67 83 14 dataLength I
68 83 15 offset I
69 83 16 totalThisPacket I
70 83 17 bytesRead I
Exception table:
from to target type
13 54 55 Class java.net.SocketException
13 54 58 Class java.io.InterruptedIOException
13 54 61 Class org.apache.commons.net.tftp.TFTPPacketException
10 84 84 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
filename
mode
input
host
port
public void sendFile(java.lang.String, int, java.io.InputStream, java.lang.String, int);
descriptor: (Ljava/lang/String;ILjava/io/InputStream;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
aload 3
aload 4
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 5
invokevirtual org.apache.commons.net.tftp.TFTPClient.sendFile:(Ljava/lang/String;ILjava/io/InputStream;Ljava/net/InetAddress;I)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 2 1 filename Ljava/lang/String;
0 2 2 mode I
0 2 3 input Ljava/io/InputStream;
0 2 4 hostname Ljava/lang/String;
0 2 5 port I
Exceptions:
throws java.net.UnknownHostException, java.io.IOException
MethodParameters:
Name Flags
filename
mode
input
hostname
port
public void sendFile(java.lang.String, int, java.io.InputStream, java.net.InetAddress);
descriptor: (Ljava/lang/String;ILjava/io/InputStream;Ljava/net/InetAddress;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 3
aload 4
bipush 69
invokevirtual org.apache.commons.net.tftp.TFTPClient.sendFile:(Ljava/lang/String;ILjava/io/InputStream;Ljava/net/InetAddress;I)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 2 1 filename Ljava/lang/String;
0 2 2 mode I
0 2 3 input Ljava/io/InputStream;
0 2 4 host Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
filename
mode
input
host
public void sendFile(java.lang.String, int, java.io.InputStream, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/io/InputStream;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 3
aload 4
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
1: bipush 69
2: invokevirtual org.apache.commons.net.tftp.TFTPClient.sendFile:(Ljava/lang/String;ILjava/io/InputStream;Ljava/net/InetAddress;I)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/net/tftp/TFTPClient;
0 4 1 filename Ljava/lang/String;
0 4 2 mode I
0 4 3 input Ljava/io/InputStream;
0 4 4 hostname Ljava/lang/String;
Exceptions:
throws java.net.UnknownHostException, java.io.IOException
MethodParameters:
Name Flags
filename
mode
input
hostname
}
SourceFile: "TFTPClient.java"