public class org.apache.commons.net.tftp.TFTP extends org.apache.commons.net.DatagramSocketClient
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.net.tftp.TFTP
  super_class: org.apache.commons.net.DatagramSocketClient
{
  public static final int ASCII_MODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int NETASCII_MODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int BINARY_MODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int IMAGE_MODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int OCTET_MODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int DEFAULT_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  public static final int DEFAULT_PORT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 69

  static final int PACKET_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 516

  private byte[] __receiveBuffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.net.DatagramPacket __receiveDatagram;
    descriptor: Ljava/net/DatagramPacket;
    flags: (0x0002) ACC_PRIVATE

  private java.net.DatagramPacket __sendDatagram;
    descriptor: Ljava/net/DatagramPacket;
    flags: (0x0002) ACC_PRIVATE

  byte[] _sendBuffer;
    descriptor: [B
    flags: (0x0000) 

  public static final java.lang.String getModeName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int mode
         0: .line 120
            getstatic org.apache.commons.net.tftp.TFTPRequestPacket._modeStrings:[Ljava/lang/String;
            iload 0 /* mode */
            aaload
            areturn
        end local 0 // int mode
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  mode  I
    MethodParameters:
      Name  Flags
      mode  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.net.tftp.TFTP this
         0: .line 127
            aload 0 /* this */
            invokespecial org.apache.commons.net.DatagramSocketClient.<init>:()V
         1: .line 129
            aload 0 /* this */
            sipush 5000
            invokevirtual org.apache.commons.net.tftp.TFTP.setDefaultTimeout:(I)V
         2: .line 130
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
         3: .line 131
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
         4: .line 132
            return
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/net/tftp/TFTP;

  public final void discardPackets();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.commons.net.tftp.TFTP this
         0: .line 146
            new java.net.DatagramPacket
            dup
            sipush 516
            newarray 8
            sipush 516
            invokespecial java.net.DatagramPacket.<init>:([BI)V
            astore 2 /* datagram */
        start local 2 // java.net.DatagramPacket datagram
         1: .line 148
            aload 0 /* this */
            invokevirtual org.apache.commons.net.tftp.TFTP.getSoTimeout:()I
            istore 1 /* to */
        start local 1 // int to
         2: .line 149
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.net.tftp.TFTP.setSoTimeout:(I)V
         3: .line 154
      StackMap locals: int java.net.DatagramPacket
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._socket_:Ljava/net/DatagramSocket;
            aload 2 /* datagram */
            invokevirtual java.net.DatagramSocket.receive:(Ljava/net/DatagramPacket;)V
         4: .line 153
            goto 3
         5: .line 157
      StackMap locals:
      StackMap stack: java.net.SocketException
            pop
            goto 7
         6: .line 161
      StackMap locals:
      StackMap stack: java.io.InterruptedIOException
            pop
         7: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* to */
            invokevirtual org.apache.commons.net.tftp.TFTP.setSoTimeout:(I)V
         8: .line 167
            return
        end local 2 // java.net.DatagramPacket datagram
        end local 1 // int to
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/apache/commons/net/tftp/TFTP;
            2    9     1        to  I
            1    9     2  datagram  Ljava/net/DatagramPacket;
      Exception table:
        from    to  target  type
           3     5       5  Class java.net.SocketException
           3     5       6  Class java.io.InterruptedIOException
    Exceptions:
      throws java.io.IOException

  public final org.apache.commons.net.tftp.TFTPPacket bufferedReceive();
    descriptor: ()Lorg/apache/commons/net/tftp/TFTPPacket;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.commons.net.tftp.TFTP this
         0: .line 200
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
            invokevirtual java.net.DatagramPacket.setData:([B)V
         1: .line 201
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
            arraylength
            invokevirtual java.net.DatagramPacket.setLength:(I)V
         2: .line 202
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._socket_:Ljava/net/DatagramSocket;
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
            invokevirtual java.net.DatagramSocket.receive:(Ljava/net/DatagramPacket;)V
         3: .line 204
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
            invokestatic org.apache.commons.net.tftp.TFTPPacket.newTFTPPacket:(Ljava/net/DatagramPacket;)Lorg/apache/commons/net/tftp/TFTPPacket;
            astore 1 /* newTFTPPacket */
        start local 1 // org.apache.commons.net.tftp.TFTPPacket newTFTPPacket
         4: .line 205
            aload 0 /* this */
            ldc "<"
            aload 1 /* newTFTPPacket */
            invokevirtual org.apache.commons.net.tftp.TFTP.trace:(Ljava/lang/String;Lorg/apache/commons/net/tftp/TFTPPacket;)V
         5: .line 206
            aload 1 /* newTFTPPacket */
            areturn
        end local 1 // org.apache.commons.net.tftp.TFTPPacket newTFTPPacket
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/apache/commons/net/tftp/TFTP;
            4    6     1  newTFTPPacket  Lorg/apache/commons/net/tftp/TFTPPacket;
    Exceptions:
      throws java.io.IOException, java.io.InterruptedIOException, java.net.SocketException, org.apache.commons.net.tftp.TFTPPacketException

  public final void bufferedSend(org.apache.commons.net.tftp.TFTPPacket);
    descriptor: (Lorg/apache/commons/net/tftp/TFTPPacket;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.net.tftp.TFTP this
        start local 1 // org.apache.commons.net.tftp.TFTPPacket packet
         0: .line 229
            aload 0 /* this */
            ldc ">"
            aload 1 /* packet */
            invokevirtual org.apache.commons.net.tftp.TFTP.trace:(Ljava/lang/String;Lorg/apache/commons/net/tftp/TFTPPacket;)V
         1: .line 230
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._socket_:Ljava/net/DatagramSocket;
            aload 1 /* packet */
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__sendDatagram:Ljava/net/DatagramPacket;
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._sendBuffer:[B
            invokevirtual org.apache.commons.net.tftp.TFTPPacket._newDatagram:(Ljava/net/DatagramPacket;[B)Ljava/net/DatagramPacket;
            invokevirtual java.net.DatagramSocket.send:(Ljava/net/DatagramPacket;)V
         2: .line 231
            return
        end local 1 // org.apache.commons.net.tftp.TFTPPacket packet
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/commons/net/tftp/TFTP;
            0    3     1  packet  Lorg/apache/commons/net/tftp/TFTPPacket;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      packet  

  public final void beginBufferedOps();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.commons.net.tftp.TFTP this
         0: .line 244
            aload 0 /* this */
            sipush 516
            newarray 8
            putfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
         1: .line 245
            aload 0 /* this */
         2: .line 246
            new java.net.DatagramPacket
            dup
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
            arraylength
            invokespecial java.net.DatagramPacket.<init>:([BI)V
         3: .line 245
            putfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
         4: .line 247
            aload 0 /* this */
            sipush 516
            newarray 8
            putfield org.apache.commons.net.tftp.TFTP._sendBuffer:[B
         5: .line 248
            aload 0 /* this */
         6: .line 249
            new java.net.DatagramPacket
            dup
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._sendBuffer:[B
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._sendBuffer:[B
            arraylength
            invokespecial java.net.DatagramPacket.<init>:([BI)V
         7: .line 248
            putfield org.apache.commons.net.tftp.TFTP.__sendDatagram:Ljava/net/DatagramPacket;
         8: .line 250
            return
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/commons/net/tftp/TFTP;

  public final void endBufferedOps();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.net.tftp.TFTP this
         0: .line 257
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.tftp.TFTP.__receiveBuffer:[B
         1: .line 258
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.tftp.TFTP.__receiveDatagram:Ljava/net/DatagramPacket;
         2: .line 259
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.tftp.TFTP._sendBuffer:[B
         3: .line 260
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.tftp.TFTP.__sendDatagram:Ljava/net/DatagramPacket;
         4: .line 261
            return
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/net/tftp/TFTP;

  public final void send(org.apache.commons.net.tftp.TFTPPacket);
    descriptor: (Lorg/apache/commons/net/tftp/TFTPPacket;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.net.tftp.TFTP this
        start local 1 // org.apache.commons.net.tftp.TFTPPacket packet
         0: .line 272
            aload 0 /* this */
            ldc ">"
            aload 1 /* packet */
            invokevirtual org.apache.commons.net.tftp.TFTP.trace:(Ljava/lang/String;Lorg/apache/commons/net/tftp/TFTPPacket;)V
         1: .line 273
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._socket_:Ljava/net/DatagramSocket;
            aload 1 /* packet */
            invokevirtual org.apache.commons.net.tftp.TFTPPacket.newDatagram:()Ljava/net/DatagramPacket;
            invokevirtual java.net.DatagramSocket.send:(Ljava/net/DatagramPacket;)V
         2: .line 274
            return
        end local 1 // org.apache.commons.net.tftp.TFTPPacket packet
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/commons/net/tftp/TFTP;
            0    3     1  packet  Lorg/apache/commons/net/tftp/TFTPPacket;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      packet  

  public final org.apache.commons.net.tftp.TFTPPacket receive();
    descriptor: ()Lorg/apache/commons/net/tftp/TFTPPacket;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.commons.net.tftp.TFTP this
         0: .line 297
            new java.net.DatagramPacket
            dup
            sipush 516
            newarray 8
            sipush 516
            invokespecial java.net.DatagramPacket.<init>:([BI)V
            astore 1 /* packet */
        start local 1 // java.net.DatagramPacket packet
         1: .line 299
            aload 0 /* this */
            getfield org.apache.commons.net.tftp.TFTP._socket_:Ljava/net/DatagramSocket;
            aload 1 /* packet */
            invokevirtual java.net.DatagramSocket.receive:(Ljava/net/DatagramPacket;)V
         2: .line 301
            aload 1 /* packet */
            invokestatic org.apache.commons.net.tftp.TFTPPacket.newTFTPPacket:(Ljava/net/DatagramPacket;)Lorg/apache/commons/net/tftp/TFTPPacket;
            astore 2 /* newTFTPPacket */
        start local 2 // org.apache.commons.net.tftp.TFTPPacket newTFTPPacket
         3: .line 302
            aload 0 /* this */
            ldc "<"
            aload 2 /* newTFTPPacket */
            invokevirtual org.apache.commons.net.tftp.TFTP.trace:(Ljava/lang/String;Lorg/apache/commons/net/tftp/TFTPPacket;)V
         4: .line 303
            aload 2 /* newTFTPPacket */
            areturn
        end local 2 // org.apache.commons.net.tftp.TFTPPacket newTFTPPacket
        end local 1 // java.net.DatagramPacket packet
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/commons/net/tftp/TFTP;
            1    5     1         packet  Ljava/net/DatagramPacket;
            3    5     2  newTFTPPacket  Lorg/apache/commons/net/tftp/TFTPPacket;
    Exceptions:
      throws java.io.IOException, java.io.InterruptedIOException, java.net.SocketException, org.apache.commons.net.tftp.TFTPPacketException

  protected void trace(java.lang.String, org.apache.commons.net.tftp.TFTPPacket);
    descriptor: (Ljava/lang/String;Lorg/apache/commons/net/tftp/TFTPPacket;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.apache.commons.net.tftp.TFTP this
        start local 1 // java.lang.String direction
        start local 2 // org.apache.commons.net.tftp.TFTPPacket packet
         0: .line 316
            return
        end local 2 // org.apache.commons.net.tftp.TFTPPacket packet
        end local 1 // java.lang.String direction
        end local 0 // org.apache.commons.net.tftp.TFTP this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/net/tftp/TFTP;
            0    1     1  direction  Ljava/lang/String;
            0    1     2     packet  Lorg/apache/commons/net/tftp/TFTPPacket;
    MethodParameters:
           Name  Flags
      direction  
      packet     
}
SourceFile: "TFTP.java"