private void readAltSvcFrame( ChannelHandlerContext ctx, ByteBuf payload, Http2FrameObserver observer) throws Http2Exception { long maxAge = payload.readUnsignedInt(); int port = payload.readUnsignedShort(); payload.skipBytes(1); short protocolIdLength = payload.readUnsignedByte(); ByteBuf protocolId = payload.readSlice(protocolIdLength); short hostLength = payload.readUnsignedByte(); String host = payload.toString(payload.readerIndex(), hostLength, UTF_8); payload.skipBytes(hostLength); String origin = null; if (payload.isReadable()) { origin = payload.toString(UTF_8); payload.skipBytes(payload.readableBytes()); } observer.onAltSvcRead(ctx, streamId, maxAge, port, protocolId, host, origin); }