public abstract class javax.net.ssl.SSLEngine
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.net.ssl.SSLEngine
  super_class: java.lang.Object
{
  private java.lang.String peerHost;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int peerPort;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.net.ssl.SSLEngine this
         0: .line 383
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 373
            aload 0 /* this */
            aconst_null
            putfield javax.net.ssl.SSLEngine.peerHost:Ljava/lang/String;
         2: .line 374
            aload 0 /* this */
            iconst_m1
            putfield javax.net.ssl.SSLEngine.peerPort:I
         3: .line 384
            return
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/net/ssl/SSLEngine;

  protected void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.net.ssl.SSLEngine this
        start local 1 // java.lang.String peerHost
        start local 2 // int peerPort
         0: .line 405
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 373
            aload 0 /* this */
            aconst_null
            putfield javax.net.ssl.SSLEngine.peerHost:Ljava/lang/String;
         2: .line 374
            aload 0 /* this */
            iconst_m1
            putfield javax.net.ssl.SSLEngine.peerPort:I
         3: .line 406
            aload 0 /* this */
            aload 1 /* peerHost */
            putfield javax.net.ssl.SSLEngine.peerHost:Ljava/lang/String;
         4: .line 407
            aload 0 /* this */
            iload 2 /* peerPort */
            putfield javax.net.ssl.SSLEngine.peerPort:I
         5: .line 408
            return
        end local 2 // int peerPort
        end local 1 // java.lang.String peerHost
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljavax/net/ssl/SSLEngine;
            0    6     1  peerHost  Ljava/lang/String;
            0    6     2  peerPort  I
    MethodParameters:
          Name  Flags
      peerHost  
      peerPort  

  public java.lang.String getPeerHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.net.ssl.SSLEngine this
         0: .line 420
            aload 0 /* this */
            getfield javax.net.ssl.SSLEngine.peerHost:Ljava/lang/String;
            areturn
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/net/ssl/SSLEngine;

  public int getPeerPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.net.ssl.SSLEngine this
         0: .line 433
            aload 0 /* this */
            getfield javax.net.ssl.SSLEngine.peerPort:I
            ireturn
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/net/ssl/SSLEngine;

  public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.net.ssl.SSLEngine this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 469
            aload 0 /* this */
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* src */
            aastore
            iconst_0
            iconst_1
            aload 2 /* dst */
            invokevirtual javax.net.ssl.SSLEngine.wrap:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/net/ssl/SSLEngine;
            0    1     1   src  Ljava/nio/ByteBuffer;
            0    1     2   dst  Ljava/nio/ByteBuffer;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
      Name  Flags
      src   
      dst   

  public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer);
    descriptor: ([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.net.ssl.SSLEngine this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // java.nio.ByteBuffer dst
         0: .line 506
            aload 1 /* srcs */
            ifnonnull 2
         1: .line 507
            new java.lang.IllegalArgumentException
            dup
            ldc "src == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srcs */
            iconst_0
            aload 1 /* srcs */
            arraylength
            aload 2 /* dst */
            invokevirtual javax.net.ssl.SSLEngine.wrap:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/net/ssl/SSLEngine;
            0    3     1  srcs  [Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
      Name  Flags
      srcs  
      dst   

  public abstract javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer);
    descriptor: ([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  
      dst     

  public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // javax.net.ssl.SSLEngine this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 624
            aload 0 /* this */
            aload 1 /* src */
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 2 /* dst */
            aastore
            iconst_0
            iconst_1
            invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/net/ssl/SSLEngine;
            0    1     1   src  Ljava/nio/ByteBuffer;
            0    1     2   dst  Ljava/nio/ByteBuffer;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
      Name  Flags
      src   
      dst   

  public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[]);
    descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.net.ssl.SSLEngine this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.ByteBuffer[] dsts
         0: .line 661
            aload 2 /* dsts */
            ifnonnull 2
         1: .line 662
            new java.lang.IllegalArgumentException
            dup
            ldc "dsts == null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dsts */
            iconst_0
            aload 2 /* dsts */
            arraylength
            invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
            areturn
        end local 2 // java.nio.ByteBuffer[] dsts
        end local 1 // java.nio.ByteBuffer src
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/net/ssl/SSLEngine;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2  dsts  [Ljava/nio/ByteBuffer;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
      Name  Flags
      src   
      dsts  

  public abstract javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int);
    descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
        Name  Flags
      src     
      dsts    
      offset  
      length  

  public abstract java.lang.Runnable getDelegatedTask();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void closeInbound();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.net.ssl.SSLException

  public abstract boolean isInboundDone();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void closeOutbound();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isOutboundDone();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String[] getSupportedCipherSuites();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String[] getEnabledCipherSuites();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setEnabledCipherSuites(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      suites  

  public abstract java.lang.String[] getSupportedProtocols();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String[] getEnabledProtocols();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setEnabledProtocols(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      protocols  

  public abstract javax.net.ssl.SSLSession getSession();
    descriptor: ()Ljavax/net/ssl/SSLSession;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public javax.net.ssl.SSLSession getHandshakeSession();
    descriptor: ()Ljavax/net/ssl/SSLSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.net.ssl.SSLEngine this
         0: .line 1007
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/net/ssl/SSLEngine;

  public abstract void beginHandshake();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.net.ssl.SSLException

  public abstract javax.net.ssl.SSLEngineResult$HandshakeStatus getHandshakeStatus();
    descriptor: ()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setUseClientMode(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      mode  

  public abstract boolean getUseClientMode();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setNeedClientAuth(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      need  

  public abstract boolean getNeedClientAuth();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setWantClientAuth(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      want  

  public abstract boolean getWantClientAuth();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setEnableSessionCreation(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      flag  

  public abstract boolean getEnableSessionCreation();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public javax.net.ssl.SSLParameters getSSLParameters();
    descriptor: ()Ljavax/net/ssl/SSLParameters;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.net.ssl.SSLEngine this
         0: .line 1201
            new javax.net.ssl.SSLParameters
            dup
            invokespecial javax.net.ssl.SSLParameters.<init>:()V
            astore 1 /* params */
        start local 1 // javax.net.ssl.SSLParameters params
         1: .line 1202
            aload 1 /* params */
            aload 0 /* this */
            invokevirtual javax.net.ssl.SSLEngine.getEnabledCipherSuites:()[Ljava/lang/String;
            invokevirtual javax.net.ssl.SSLParameters.setCipherSuites:([Ljava/lang/String;)V
         2: .line 1203
            aload 1 /* params */
            aload 0 /* this */
            invokevirtual javax.net.ssl.SSLEngine.getEnabledProtocols:()[Ljava/lang/String;
            invokevirtual javax.net.ssl.SSLParameters.setProtocols:([Ljava/lang/String;)V
         3: .line 1204
            aload 0 /* this */
            invokevirtual javax.net.ssl.SSLEngine.getNeedClientAuth:()Z
            ifeq 6
         4: .line 1205
            aload 1 /* params */
            iconst_1
            invokevirtual javax.net.ssl.SSLParameters.setNeedClientAuth:(Z)V
         5: .line 1206
            goto 8
      StackMap locals: javax.net.ssl.SSLParameters
      StackMap stack:
         6: aload 0 /* this */
            invokevirtual javax.net.ssl.SSLEngine.getWantClientAuth:()Z
            ifeq 8
         7: .line 1207
            aload 1 /* params */
            iconst_1
            invokevirtual javax.net.ssl.SSLParameters.setWantClientAuth:(Z)V
         8: .line 1209
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            areturn
        end local 1 // javax.net.ssl.SSLParameters params
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavax/net/ssl/SSLEngine;
            1    9     1  params  Ljavax/net/ssl/SSLParameters;

  public void setSSLParameters(javax.net.ssl.SSLParameters);
    descriptor: (Ljavax/net/ssl/SSLParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.net.ssl.SSLEngine this
        start local 1 // javax.net.ssl.SSLParameters params
         0: .line 1235
            aload 1 /* params */
            invokevirtual javax.net.ssl.SSLParameters.getCipherSuites:()[Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String[] s
         1: .line 1236
            aload 2 /* s */
            ifnull 3
         2: .line 1237
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual javax.net.ssl.SSLEngine.setEnabledCipherSuites:([Ljava/lang/String;)V
         3: .line 1239
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* params */
            invokevirtual javax.net.ssl.SSLParameters.getProtocols:()[Ljava/lang/String;
            astore 2 /* s */
         4: .line 1240
            aload 2 /* s */
            ifnull 6
         5: .line 1241
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual javax.net.ssl.SSLEngine.setEnabledProtocols:([Ljava/lang/String;)V
         6: .line 1243
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            invokevirtual javax.net.ssl.SSLParameters.getNeedClientAuth:()Z
            ifeq 9
         7: .line 1244
            aload 0 /* this */
            iconst_1
            invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
         8: .line 1245
            goto 13
      StackMap locals:
      StackMap stack:
         9: aload 1 /* params */
            invokevirtual javax.net.ssl.SSLParameters.getWantClientAuth:()Z
            ifeq 12
        10: .line 1246
            aload 0 /* this */
            iconst_1
            invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
        11: .line 1247
            goto 13
        12: .line 1248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
        13: .line 1250
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String[] s
        end local 1 // javax.net.ssl.SSLParameters params
        end local 0 // javax.net.ssl.SSLEngine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljavax/net/ssl/SSLEngine;
            0   14     1  params  Ljavax/net/ssl/SSLParameters;
            1   14     2       s  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      params  
}
SourceFile: "SSLEngine.java"
InnerClasses:
  public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult