void frameHeader(int paramInt1, int paramInt2, byte paramByte1, byte paramByte2)
 {
   if (Http2.logger.isLoggable(Level.FINE)) {
     Http2.logger.fine(Http2.FrameLogger.formatHeader(false, paramInt1, paramInt2, paramByte1, paramByte2));
   }
   if (paramInt2 > this.maxFrameSize) {
     throw Http2.illegalArgument("FRAME_SIZE_ERROR length > %d: %d", new Object[] { Integer.valueOf(this.maxFrameSize), Integer.valueOf(paramInt2) });
   }
   if ((0x80000000 & paramInt1) != 0) {
     throw Http2.illegalArgument("reserved bit set: %s", new Object[] { Integer.valueOf(paramInt1) });
   }
   Http2.writeMedium(this.sink, paramInt2);
   this.sink.ɟ(paramByte1 & 0xFF);
   this.sink.ɟ(paramByte2 & 0xFF);
   this.sink.ǀ(0x7FFFFFFF & paramInt1);
 }
 public void goAway(int paramInt, ErrorCode paramErrorCode, byte[] paramArrayOfByte)
 {
   try
   {
     if (this.closed) {
       throw new IOException("closed");
     }
     if (paramErrorCode.httpCode == -1) {
       throw Http2.illegalArgument("errorCode.httpCode == -1", new Object[0]);
     }
     frameHeader(0, paramArrayOfByte.length + 8, (byte)7, (byte)0);
     this.sink.ǀ(paramInt);
     this.sink.ǀ(paramErrorCode.httpCode);
     if (paramArrayOfByte.length > 0) {
       this.sink.ᐧ(paramArrayOfByte);
     }
     this.sink.flush();
     return;
   }
   finally {}
 }
 public void windowUpdate(int paramInt, long paramLong)
 {
   for (;;)
   {
     try
     {
       if (!this.closed) {
         break label76;
       }
       throw new IOException("closed");
     }
     finally {}
     throw Http2.illegalArgument("windowSizeIncrement == 0 || windowSizeIncrement > 0x7fffffffL: %s", new Object[] { Long.valueOf(paramLong) });
     frameHeader(paramInt, 4, (byte)8, (byte)0);
     this.sink.ǀ((int)paramLong);
     this.sink.flush();
     return;
     label76:
     if (paramLong != 0L) {
       if (paramLong <= 2147483647L) {}
     }
   }
 }