class okhttp3.internal.ws.RealWebSocket$2 implements okhttp3.Callback
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: okhttp3.internal.ws.RealWebSocket$2
  super_class: java.lang.Object
{
  final okhttp3.internal.ws.RealWebSocket this$0;
    descriptor: Lokhttp3/internal/ws/RealWebSocket;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final okhttp3.Request val$request;
    descriptor: Lokhttp3/Request;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(okhttp3.internal.ws.RealWebSocket, okhttp3.Request);
    descriptor: (Lokhttp3/internal/ws/RealWebSocket;Lokhttp3/Request;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // okhttp3.internal.ws.RealWebSocket$2 this
         0: .line 193
            aload 0 /* this */
            aload 1
            putfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 0 /* this */
            aload 2
            putfield okhttp3.internal.ws.RealWebSocket$2.val$request:Lokhttp3/Request;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // okhttp3.internal.ws.RealWebSocket$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/ws/RealWebSocket$2;
    MethodParameters:
             Name  Flags
      this$0       final
      val$request  final

  public void onResponse(okhttp3.Call, okhttp3.Response);
    descriptor: (Lokhttp3/Call;Lokhttp3/Response;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // okhttp3.internal.ws.RealWebSocket$2 this
        start local 1 // okhttp3.Call call
        start local 2 // okhttp3.Response response
         0: .line 196
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 2 /* response */
            invokevirtual okhttp3.internal.ws.RealWebSocket.checkResponse:(Lokhttp3/Response;)V
         1: .line 197
            goto 6
      StackMap locals:
      StackMap stack: java.net.ProtocolException
         2: astore 3 /* e */
        start local 3 // java.net.ProtocolException e
         3: .line 198
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 3 /* e */
            aload 2 /* response */
            invokevirtual okhttp3.internal.ws.RealWebSocket.failWebSocket:(Ljava/lang/Exception;Lokhttp3/Response;)V
         4: .line 199
            aload 2 /* response */
            invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/io/Closeable;)V
         5: .line 200
            return
        end local 3 // java.net.ProtocolException e
         6: .line 204
      StackMap locals:
      StackMap stack:
            getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
            aload 1 /* call */
            invokevirtual okhttp3.internal.Internal.streamAllocation:(Lokhttp3/Call;)Lokhttp3/internal/connection/StreamAllocation;
            astore 3 /* streamAllocation */
        start local 3 // okhttp3.internal.connection.StreamAllocation streamAllocation
         7: .line 205
            aload 3 /* streamAllocation */
            invokevirtual okhttp3.internal.connection.StreamAllocation.noNewStreams:()V
         8: .line 206
            aload 3 /* streamAllocation */
            invokevirtual okhttp3.internal.connection.StreamAllocation.connection:()Lokhttp3/internal/connection/RealConnection;
            aload 3 /* streamAllocation */
            invokevirtual okhttp3.internal.connection.RealConnection.newWebSocketStreams:(Lokhttp3/internal/connection/StreamAllocation;)Lokhttp3/internal/ws/RealWebSocket$Streams;
            astore 4 /* streams */
        start local 4 // okhttp3.internal.ws.RealWebSocket$Streams streams
         9: .line 210
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            getfield okhttp3.internal.ws.RealWebSocket.listener:Lokhttp3/WebSocketListener;
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 2 /* response */
            invokevirtual okhttp3.WebSocketListener.onOpen:(Lokhttp3/WebSocket;Lokhttp3/Response;)V
        10: .line 211
            new java.lang.StringBuilder
            dup
            ldc "OkHttp WebSocket "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.val$request:Lokhttp3/Request;
            invokevirtual okhttp3.Request.url:()Lokhttp3/HttpUrl;
            invokevirtual okhttp3.HttpUrl.redact:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        11: .line 212
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 5 /* name */
            aload 4 /* streams */
            invokevirtual okhttp3.internal.ws.RealWebSocket.initReaderAndWriter:(Ljava/lang/String;Lokhttp3/internal/ws/RealWebSocket$Streams;)V
        12: .line 213
            aload 3 /* streamAllocation */
            invokevirtual okhttp3.internal.connection.StreamAllocation.connection:()Lokhttp3/internal/connection/RealConnection;
            invokevirtual okhttp3.internal.connection.RealConnection.socket:()Ljava/net/Socket;
            iconst_0
            invokevirtual java.net.Socket.setSoTimeout:(I)V
        13: .line 214
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            invokevirtual okhttp3.internal.ws.RealWebSocket.loopReader:()V
        end local 5 // java.lang.String name
        14: .line 215
            goto 17
      StackMap locals: okhttp3.internal.ws.RealWebSocket$2 okhttp3.Call okhttp3.Response okhttp3.internal.connection.StreamAllocation okhttp3.internal.ws.RealWebSocket$Streams
      StackMap stack: java.lang.Exception
        15: astore 5 /* e */
        start local 5 // java.lang.Exception e
        16: .line 216
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 5 /* e */
            aconst_null
            invokevirtual okhttp3.internal.ws.RealWebSocket.failWebSocket:(Ljava/lang/Exception;Lokhttp3/Response;)V
        end local 5 // java.lang.Exception e
        17: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 4 // okhttp3.internal.ws.RealWebSocket$Streams streams
        end local 3 // okhttp3.internal.connection.StreamAllocation streamAllocation
        end local 2 // okhttp3.Response response
        end local 1 // okhttp3.Call call
        end local 0 // okhttp3.internal.ws.RealWebSocket$2 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lokhttp3/internal/ws/RealWebSocket$2;
            0   18     1              call  Lokhttp3/Call;
            0   18     2          response  Lokhttp3/Response;
            3    6     3                 e  Ljava/net/ProtocolException;
            7   18     3  streamAllocation  Lokhttp3/internal/connection/StreamAllocation;
            9   18     4           streams  Lokhttp3/internal/ws/RealWebSocket$Streams;
           11   14     5              name  Ljava/lang/String;
           16   17     5                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.ProtocolException
           9    14      15  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      call      
      response  

  public void onFailure(okhttp3.Call, java.io.IOException);
    descriptor: (Lokhttp3/Call;Ljava/io/IOException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // okhttp3.internal.ws.RealWebSocket$2 this
        start local 1 // okhttp3.Call call
        start local 2 // java.io.IOException e
         0: .line 221
            aload 0 /* this */
            getfield okhttp3.internal.ws.RealWebSocket$2.this$0:Lokhttp3/internal/ws/RealWebSocket;
            aload 2 /* e */
            aconst_null
            invokevirtual okhttp3.internal.ws.RealWebSocket.failWebSocket:(Ljava/lang/Exception;Lokhttp3/Response;)V
         1: .line 222
            return
        end local 2 // java.io.IOException e
        end local 1 // okhttp3.Call call
        end local 0 // okhttp3.internal.ws.RealWebSocket$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/ws/RealWebSocket$2;
            0    2     1  call  Lokhttp3/Call;
            0    2     2     e  Ljava/io/IOException;
    MethodParameters:
      Name  Flags
      call  
      e     
}
SourceFile: "RealWebSocket.java"
EnclosingMethod: okhttp3.internal.ws.RealWebSocket.connect:(Lokhttp3/OkHttpClient;)V
NestHost: okhttp3.internal.ws.RealWebSocket
InnerClasses:
  okhttp3.internal.ws.RealWebSocket$2
  public abstract Streams = okhttp3.internal.ws.RealWebSocket$Streams of okhttp3.internal.ws.RealWebSocket