class org.bouncycastle.est.jcajce.LimitedSSLSocketSource implements org.bouncycastle.est.Source<javax.net.ssl.SSLSession>, org.bouncycastle.est.TLSUniqueProvider, org.bouncycastle.est.LimitedSource
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.est.jcajce.LimitedSSLSocketSource
  super_class: java.lang.Object
{
  protected final javax.net.ssl.SSLSocket socket;
    descriptor: Ljavax/net/ssl/SSLSocket;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final org.bouncycastle.est.jcajce.ChannelBindingProvider bindingProvider;
    descriptor: Lorg/bouncycastle/est/jcajce/ChannelBindingProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Long absoluteReadLimit;
    descriptor: Ljava/lang/Long;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(javax.net.ssl.SSLSocket, org.bouncycastle.est.jcajce.ChannelBindingProvider, java.lang.Long);
    descriptor: (Ljavax/net/ssl/SSLSocket;Lorg/bouncycastle/est/jcajce/ChannelBindingProvider;Ljava/lang/Long;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
        start local 1 // javax.net.ssl.SSLSocket sock
        start local 2 // org.bouncycastle.est.jcajce.ChannelBindingProvider bindingProvider
        start local 3 // java.lang.Long absoluteReadLimit
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 24
            aload 0 /* this */
            aload 1 /* sock */
            putfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
         2: .line 25
            aload 0 /* this */
            aload 2 /* bindingProvider */
            putfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.bindingProvider:Lorg/bouncycastle/est/jcajce/ChannelBindingProvider;
         3: .line 26
            aload 0 /* this */
            aload 3 /* absoluteReadLimit */
            putfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.absoluteReadLimit:Ljava/lang/Long;
         4: .line 27
            return
        end local 3 // java.lang.Long absoluteReadLimit
        end local 2 // org.bouncycastle.est.jcajce.ChannelBindingProvider bindingProvider
        end local 1 // javax.net.ssl.SSLSocket sock
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;
            0    5     1               sock  Ljavax/net/ssl/SSLSocket;
            0    5     2    bindingProvider  Lorg/bouncycastle/est/jcajce/ChannelBindingProvider;
            0    5     3  absoluteReadLimit  Ljava/lang/Long;
    MethodParameters:
                   Name  Flags
      sock               
      bindingProvider    
      absoluteReadLimit  

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 32
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
            invokevirtual javax.net.ssl.SSLSocket.getInputStream:()Ljava/io/InputStream;
            areturn
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;
    Exceptions:
      throws java.io.IOException

  public java.io.OutputStream getOutputStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 38
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
            invokevirtual javax.net.ssl.SSLSocket.getOutputStream:()Ljava/io/OutputStream;
            areturn
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;
    Exceptions:
      throws java.io.IOException

  public javax.net.ssl.SSLSession getSession();
    descriptor: ()Ljavax/net/ssl/SSLSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 43
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
            invokevirtual javax.net.ssl.SSLSocket.getSession:()Ljavax/net/ssl/SSLSession;
            areturn
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;

  public byte[] getTLSUnique();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 48
            aload 0 /* this */
            invokevirtual org.bouncycastle.est.jcajce.LimitedSSLSocketSource.isTLSUniqueAvailable:()Z
            ifeq 2
         1: .line 50
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.bindingProvider:Lorg/bouncycastle/est/jcajce/ChannelBindingProvider;
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
            ldc "tls-unique"
            invokeinterface org.bouncycastle.est.jcajce.ChannelBindingProvider.getChannelBinding:(Ljava/net/Socket;Ljava/lang/String;)[B
            areturn
         2: .line 52
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "No binding provider."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;

  public boolean isTLSUniqueAvailable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 57
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.bindingProvider:Lorg/bouncycastle/est/jcajce/ChannelBindingProvider;
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
            invokeinterface org.bouncycastle.est.jcajce.ChannelBindingProvider.canAccessChannelBinding:(Ljava/net/Socket;)Z
            ireturn
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 63
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.socket:Ljavax/net/ssl/SSLSocket;
            invokevirtual javax.net.ssl.SSLSocket.close:()V
         1: .line 64
            return
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;
    Exceptions:
      throws java.io.IOException

  public java.lang.Long getAbsoluteReadLimit();
    descriptor: ()Ljava/lang/Long;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
         0: .line 68
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.LimitedSSLSocketSource.absoluteReadLimit:Ljava/lang/Long;
            areturn
        end local 0 // org.bouncycastle.est.jcajce.LimitedSSLSocketSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/est/jcajce/LimitedSSLSocketSource;

  public java.lang.Object getSession();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.bouncycastle.est.jcajce.LimitedSSLSocketSource.getSession:()Ljavax/net/ssl/SSLSession;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/bouncycastle/est/Source<Ljavax/net/ssl/SSLSession;>;Lorg/bouncycastle/est/TLSUniqueProvider;Lorg/bouncycastle/est/LimitedSource;
SourceFile: "LimitedSSLSocketSource.java"