.class public final Lokhttp3/internal/ws/WebSocketWriter; .super Ljava/lang/Object; .source "WebSocketWriter.kt" # interfaces .implements Ljava/io/Closeable; # annotations .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nWebSocketWriter.kt\nKotlin\n*S Kotlin\n*F\n+ 1 WebSocketWriter.kt\nokhttp3/internal/ws/WebSocketWriter\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,202:1\n1#2:203\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = {} d1 = { "\u0000L\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0008\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\n\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0012\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0006\n\u0002\u0010\t\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0007\u0018\u00002\u00020\u0001B7\u0012\u0006\u0010\u001a\u001a\u00020\u0011\u0012\u0006\u0010&\u001a\u00020%\u0012\u0006\u0010\u001c\u001a\u00020\u001b\u0012\u0006\u0010 \u001a\u00020\u0011\u0012\u0006\u0010!\u001a\u00020\u0011\u0012\u0006\u0010#\u001a\u00020\"\u00a2\u0006\u0004\u0008*\u0010+J\u0018\u0010\u0007\u001a\u00020\u00062\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0002J\u000e\u0010\u0008\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u0004J\u000e\u0010\t\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u0004J\u0018\u0010\u000c\u001a\u00020\u00062\u0006\u0010\n\u001a\u00020\u00022\u0008\u0010\u000b\u001a\u0004\u0018\u00010\u0004J\u0016\u0010\u000f\u001a\u00020\u00062\u0006\u0010\r\u001a\u00020\u00022\u0006\u0010\u000e\u001a\u00020\u0004J\u0008\u0010\u0010\u001a\u00020\u0006H\u0016R\u0016\u0010\u0012\u001a\u00020\u00118\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u0012\u0010\u0013R\u0018\u0010\u0015\u001a\u0004\u0018\u00010\u00148\u0002@\u0002X\u0082\u000e\u00a2\u0006\u0006\n\u0004\u0008\u0015\u0010\u0016R\u0016\u0010\u0018\u001a\u0004\u0018\u00010\u00178\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0018\u0010\u0019R\u0014\u0010\u001a\u001a\u00020\u00118\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u001a\u0010\u0013R\u0017\u0010\u001c\u001a\u00020\u001b8\u0006\u00a2\u0006\u000c\n\u0004\u0008\u001c\u0010\u001d\u001a\u0004\u0008\u001e\u0010\u001fR\u0014\u0010 \u001a\u00020\u00118\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008 \u0010\u0013R\u0014\u0010!\u001a\u00020\u00118\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008!\u0010\u0013R\u0014\u0010#\u001a\u00020\"8\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008#\u0010$R\u0017\u0010&\u001a\u00020%8\u0006\u00a2\u0006\u000c\n\u0004\u0008&\u0010\'\u001a\u0004\u0008(\u0010)\u00a8\u0006," } d2 = { "Lokhttp3/internal/ws/WebSocketWriter;", "Ljava/io/Closeable;", "", "opcode", "Lokio/ByteString;", "payload", "Lkotlin/d1;", "writeControlFrame", "writePing", "writePong", "code", "reason", "writeClose", "formatOpcode", "data", "writeMessageFrame", "close", "", "writerClosed", "Z", "Lokhttp3/internal/ws/MessageDeflater;", "messageDeflater", "Lokhttp3/internal/ws/MessageDeflater;", "", "maskKey", "[B", "isClient", "Ljava/util/Random;", "random", "Ljava/util/Random;", "getRandom", "()Ljava/util/Random;", "perMessageDeflate", "noContextTakeover", "", "minimumDeflateSize", "J", "Lzj/n;", "sink", "Lzj/n;", "getSink", "()Lzj/n;", "", "(ZLzj/n;Ljava/util/Random;ZZJ)V", "okhttp" } k = 0x1 mv = { 0x1, 0x4, 0x0 } .end annotation # instance fields .field private final isClient:Z .field private final maskCursor:Lzj/m$a; .field private final maskKey:[B .field private final messageBuffer:Lzj/m; .field private messageDeflater:Lokhttp3/internal/ws/MessageDeflater; .field private final minimumDeflateSize:J .field private final noContextTakeover:Z .field private final perMessageDeflate:Z .field private final random:Ljava/util/Random; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end field .field private final sink:Lzj/n; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end field .field private final sinkBuffer:Lzj/m; .field private writerClosed:Z # direct methods .method public constructor (ZLzj/n;Ljava/util/Random;ZZJ)V .locals 1 .param p2 # Lzj/n; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .param p3 # Ljava/util/Random; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param const-string v0, "sink" invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "random" invoke-static {p3, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V iput-boolean p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->isClient:Z iput-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->sink:Lzj/n; iput-object p3, p0, Lokhttp3/internal/ws/WebSocketWriter;->random:Ljava/util/Random; iput-boolean p4, p0, Lokhttp3/internal/ws/WebSocketWriter;->perMessageDeflate:Z iput-boolean p5, p0, Lokhttp3/internal/ws/WebSocketWriter;->noContextTakeover:Z iput-wide p6, p0, Lokhttp3/internal/ws/WebSocketWriter;->minimumDeflateSize:J .line 2 new-instance p3, Lzj/m; invoke-direct {p3}, Lzj/m;->()V iput-object p3, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageBuffer:Lzj/m; .line 3 invoke-interface {p2}, Lzj/n;->getBuffer()Lzj/m; move-result-object p2 iput-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; const/4 p2, 0x0 if-eqz p1, :cond_0 const/4 p3, 0x4 new-array p3, p3, [B goto :goto_0 :cond_0 move-object p3, p2 .line 4 :goto_0 iput-object p3, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B if-eqz p1, :cond_1 .line 5 new-instance p2, Lzj/m$a; invoke-direct {p2}, Lzj/m$a;->()V :cond_1 iput-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; return-void .end method .method private final writeControlFrame(ILokio/ByteString;)V .locals 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->writerClosed:Z if-nez v0, :cond_4 .line 2 invoke-virtual {p2}, Lokio/ByteString;->size()I move-result v0 int-to-long v1, v0 const-wide/16 v3, 0x7d cmp-long v1, v1, v3 if-gtz v1, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 if-eqz v1, :cond_3 or-int/lit16 p1, p1, 0x80 .line 3 iget-object v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {v1, p1}, Lzj/m;->Z1(I)Lzj/m; .line 4 iget-boolean p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->isClient:Z if-eqz p1, :cond_1 or-int/lit16 p1, v0, 0x80 .line 5 iget-object v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {v1, p1}, Lzj/m;->Z1(I)Lzj/m; .line 6 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->random:Ljava/util/Random; iget-object v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B invoke-static {v1}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V invoke-virtual {p1, v1}, Ljava/util/Random;->nextBytes([B)V .line 7 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; iget-object v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B invoke-virtual {p1, v1}, Lzj/m;->X1([B)Lzj/m; if-lez v0, :cond_2 .line 8 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p1}, Lzj/m;->size()J move-result-wide v0 .line 9 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p1, p2}, Lzj/m;->U1(Lokio/ByteString;)Lzj/m; .line 10 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; invoke-static {p2}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V invoke-virtual {p1, p2}, Lzj/m;->B1(Lzj/m$a;)Lzj/m$a; .line 11 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; invoke-virtual {p1, v0, v1}, Lzj/m$a;->d(J)I .line 12 sget-object p1, Lokhttp3/internal/ws/WebSocketProtocol;->INSTANCE:Lokhttp3/internal/ws/WebSocketProtocol; iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B invoke-virtual {p1, p2, v0}, Lokhttp3/internal/ws/WebSocketProtocol;->toggleMask(Lzj/m$a;[B)V .line 13 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; invoke-virtual {p1}, Lzj/m$a;->close()V goto :goto_1 .line 14 :cond_1 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p1, v0}, Lzj/m;->Z1(I)Lzj/m; .line 15 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p1, p2}, Lzj/m;->U1(Lokio/ByteString;)Lzj/m; .line 16 :cond_2 :goto_1 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sink:Lzj/n; invoke-interface {p1}, Lzj/n;->flush()V return-void .line 17 :cond_3 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "Payload size must be less than or equal to 125" invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 18 :cond_4 new-instance p1, Ljava/io/IOException; const-string p2, "closed" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public close()V .locals 1 .line 1 iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageDeflater:Lokhttp3/internal/ws/MessageDeflater; if-eqz v0, :cond_0 invoke-virtual {v0}, Lokhttp3/internal/ws/MessageDeflater;->close()V :cond_0 return-void .end method .method public final getRandom()Ljava/util/Random; .locals 1 .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->random:Ljava/util/Random; return-object v0 .end method .method public final getSink()Lzj/n; .locals 1 .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->sink:Lzj/n; return-object v0 .end method .method public final writeClose(ILokio/ByteString;)V .locals 1 .param p2 # Lokio/ByteString; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end param .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 sget-object v0, Lokio/ByteString;->EMPTY:Lokio/ByteString; if-nez p1, :cond_0 if-eqz p2, :cond_3 :cond_0 if-eqz p1, :cond_1 .line 2 sget-object v0, Lokhttp3/internal/ws/WebSocketProtocol;->INSTANCE:Lokhttp3/internal/ws/WebSocketProtocol; invoke-virtual {v0, p1}, Lokhttp3/internal/ws/WebSocketProtocol;->validateCloseCode(I)V .line 3 :cond_1 new-instance v0, Lzj/m; invoke-direct {v0}, Lzj/m;->()V .line 4 invoke-virtual {v0, p1}, Lzj/m;->g2(I)Lzj/m; if-eqz p2, :cond_2 .line 5 invoke-virtual {v0, p2}, Lzj/m;->U1(Lokio/ByteString;)Lzj/m; .line 6 :cond_2 invoke-virtual {v0}, Lzj/m;->d1()Lokio/ByteString; move-result-object v0 :cond_3 const/16 p1, 0x8 const/4 p2, 0x1 .line 7 :try_start_0 invoke-direct {p0, p1, v0}, Lokhttp3/internal/ws/WebSocketWriter;->writeControlFrame(ILokio/ByteString;)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 8 iput-boolean p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->writerClosed:Z return-void :catchall_0 move-exception p1 iput-boolean p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->writerClosed:Z throw p1 .end method .method public final writeMessageFrame(ILokio/ByteString;)V .locals 5 .param p2 # Lokio/ByteString; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "data" invoke-static {p2, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 1 iget-boolean v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->writerClosed:Z if-nez v0, :cond_6 .line 2 iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageBuffer:Lzj/m; invoke-virtual {v0, p2}, Lzj/m;->U1(Lokio/ByteString;)Lzj/m; const/16 v0, 0x80 or-int/2addr p1, v0 .line 3 iget-boolean v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->perMessageDeflate:Z if-eqz v1, :cond_1 invoke-virtual {p2}, Lokio/ByteString;->size()I move-result p2 int-to-long v1, p2 iget-wide v3, p0, Lokhttp3/internal/ws/WebSocketWriter;->minimumDeflateSize:J cmp-long p2, v1, v3 if-ltz p2, :cond_1 .line 4 iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageDeflater:Lokhttp3/internal/ws/MessageDeflater; if-eqz p2, :cond_0 goto :goto_0 .line 5 :cond_0 new-instance p2, Lokhttp3/internal/ws/MessageDeflater; iget-boolean v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->noContextTakeover:Z invoke-direct {p2, v1}, Lokhttp3/internal/ws/MessageDeflater;->(Z)V iput-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageDeflater:Lokhttp3/internal/ws/MessageDeflater; .line 6 :goto_0 iget-object v1, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageBuffer:Lzj/m; invoke-virtual {p2, v1}, Lokhttp3/internal/ws/MessageDeflater;->deflate(Lzj/m;)V or-int/lit8 p1, p1, 0x40 .line 7 :cond_1 iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageBuffer:Lzj/m; invoke-virtual {p2}, Lzj/m;->size()J move-result-wide v1 .line 8 iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p2, p1}, Lzj/m;->Z1(I)Lzj/m; const/4 p1, 0x0 .line 9 iget-boolean p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->isClient:Z if-eqz p2, :cond_2 goto :goto_1 :cond_2 move v0, p1 :goto_1 const-wide/16 p1, 0x7d cmp-long p1, v1, p1 if-gtz p1, :cond_3 long-to-int p1, v1 or-int/2addr p1, v0 .line 10 iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p2, p1}, Lzj/m;->Z1(I)Lzj/m; goto :goto_2 :cond_3 const-wide/32 p1, 0xffff cmp-long p1, v1, p1 if-gtz p1, :cond_4 or-int/lit8 p1, v0, 0x7e .line 11 iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p2, p1}, Lzj/m;->Z1(I)Lzj/m; .line 12 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; long-to-int p2, v1 invoke-virtual {p1, p2}, Lzj/m;->g2(I)Lzj/m; goto :goto_2 :cond_4 or-int/lit8 p1, v0, 0x7f .line 13 iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p2, p1}, Lzj/m;->Z1(I)Lzj/m; .line 14 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; invoke-virtual {p1, v1, v2}, Lzj/m;->e2(J)Lzj/m; .line 15 :goto_2 iget-boolean p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->isClient:Z if-eqz p1, :cond_5 .line 16 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->random:Ljava/util/Random; iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B invoke-static {p2}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V invoke-virtual {p1, p2}, Ljava/util/Random;->nextBytes([B)V .line 17 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B invoke-virtual {p1, p2}, Lzj/m;->X1([B)Lzj/m; const-wide/16 p1, 0x0 cmp-long v0, v1, p1 if-lez v0, :cond_5 .line 18 iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageBuffer:Lzj/m; iget-object v3, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; invoke-static {v3}, Lkotlin/jvm/internal/f0;->m(Ljava/lang/Object;)V invoke-virtual {v0, v3}, Lzj/m;->B1(Lzj/m$a;)Lzj/m$a; .line 19 iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; invoke-virtual {v0, p1, p2}, Lzj/m$a;->d(J)I .line 20 sget-object p1, Lokhttp3/internal/ws/WebSocketProtocol;->INSTANCE:Lokhttp3/internal/ws/WebSocketProtocol; iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; iget-object v0, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskKey:[B invoke-virtual {p1, p2, v0}, Lokhttp3/internal/ws/WebSocketProtocol;->toggleMask(Lzj/m$a;[B)V .line 21 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->maskCursor:Lzj/m$a; invoke-virtual {p1}, Lzj/m$a;->close()V .line 22 :cond_5 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sinkBuffer:Lzj/m; iget-object p2, p0, Lokhttp3/internal/ws/WebSocketWriter;->messageBuffer:Lzj/m; invoke-virtual {p1, p2, v1, v2}, Lzj/m;->write(Lzj/m;J)V .line 23 iget-object p1, p0, Lokhttp3/internal/ws/WebSocketWriter;->sink:Lzj/n; invoke-interface {p1}, Lzj/n;->p()Lzj/n; return-void .line 24 :cond_6 new-instance p1, Ljava/io/IOException; const-string p2, "closed" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .end method .method public final writePing(Lokio/ByteString;)V .locals 1 .param p1 # Lokio/ByteString; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "payload" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V const/16 v0, 0x9 .line 1 invoke-direct {p0, v0, p1}, Lokhttp3/internal/ws/WebSocketWriter;->writeControlFrame(ILokio/ByteString;)V return-void .end method .method public final writePong(Lokio/ByteString;)V .locals 1 .param p1 # Lokio/ByteString; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "payload" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V const/16 v0, 0xa .line 1 invoke-direct {p0, v0, p1}, Lokhttp3/internal/ws/WebSocketWriter;->writeControlFrame(ILokio/ByteString;)V return-void .end method