h*-g;      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.2.7 Safe-Inferred> Safe-Inferredw  Safe-Inferred  Safe-Inferredquic1Insertion. Worst-case: O(N), amortized: O(log N).quic.Finding the minimum element. Worst-case: O(1).quicDeleting the minimum element. Worst-case: O(N), amortized: O(log N).quic9Merging two heaps. Worst-case: O(N), amortized: O(log N).  Safe-Inferred8quic toAckInfo [9]AckInfo 9 0 []toAckInfo [9,8,7]AckInfo 9 2 []toAckInfo [8,7,3,2]AckInfo 8 1 [(2,1)]toAckInfo [9,8,7,5,4]AckInfo 9 2 [(0,1)]quicfromAckInfo $ AckInfo 9 0 [][9]fromAckInfo $ AckInfo 9 2 [][7,8,9]!fromAckInfo $ AckInfo 8 1 [(2,1)] [2,3,7,8]!fromAckInfo $ AckInfo 9 2 [(0,1)] [4,5,7,8,9]quic%fromAckInfoWithMin (AckInfo 9 0 []) 1[9]%fromAckInfoWithMin (AckInfo 9 2 []) 8[8,9]*fromAckInfoWithMin (AckInfo 8 1 [(2,1)]) 3[3,7,8]*fromAckInfoWithMin (AckInfo 9 2 [(0,1)]) 8[8,9]   Safe-Inferred quic$Application protocol errors of QUIC.quicTransport errors of QUIC.-quic:Converting a TLS alert to a corresponding transport error. !"#$%&'()*+,-  Safe-Inferred"M./0123456789:;<  Safe-Inferred=quic All internal byte sequences. & should be used for FFI related stuff.= .5;:6/01234789<  Safe-InferredBAB?@CD>EFGHIJKL Safe-Inferred|MNOPQR Safe-InferredSquic$enc16 $ encodeInt 151288809941952652"c2197c5eff14e88c"enc16 $ encodeInt 494878333 "9d7f3e7d"enc16 $ encodeInt 15293"7bbd"enc16 $ encodeInt 37"25"Xquic$decodeInt (dec16 "c2197c5eff14e88c")151288809941952652decodeInt (dec16 "9d7f3e7d") 494878333decodeInt (dec16 "7bbd")15293decodeInt (dec16 "25")37STUVWXY Safe-Inferred<xcquicA type for conneciton ID.hquicConverting a connection ID.cdefhgijabk_`lZ[\]^ Safe-Inferred"RrquicStream identifier. This should be 62-bit interger. On 32-bit machines, the total number of stream identifiers is limited.quic7Checking if a stream is client-initiated bidirectional.quic7Checking if a stream is server-initiated bidirectional.quic8Checking if a stream is client-initiated unidirectional.quic8Checking if a stream is server-initiated unidirectional.0mnopqrs~}|{zyxwutv Safe-Inferred"<quic QUIC version. Safe-Inferred%&<!2quicInformation about resumptionquicIs 0RTT possible?quicIs resumption possible?  Safe-Inferred!s Safe-Inferred"%&!quicInformation about a connection.   Safe-Inferred"DquicUser level exceptions for QUIC. Safe-Inferred"=  cdab_`Z[\]^efhgijklMNOPQR+,*)('&%$#"! -rmsvtuwxyz{|}~qonpXSTUVWYAB?@>CDEFGHIJKL Safe-Inferred$| Safe-Inferred%&%3quic"An abstract data type for streams.quicGetting stream identifier.    Safe-Inferred% Safe-Inferred%&%  Safe-Inferred"%&&   Safe-Inferred"%&&U Safe-Inferred&2  Safe-Inferred"%&*5quicQUIC transport parameters.quic0The default value for QUIC transport parameters.quic3An example parameters obsoleted in the near future.defaultParametersParameters {originalDestinationConnectionId = Nothing, maxIdleTimeout = 30000, statelessResetToken = Nothing, maxUdpPayloadSize = 2048, initialMaxData = 16777216, initialMaxStreamDataBidiLocal = 262144, initialMaxStreamDataBidiRemote = 262144, initialMaxStreamDataUni = 262144, initialMaxStreamsBidi = 64, initialMaxStreamsUni = 3, ackDelayExponent = 3, maxAckDelay = 25, disableActiveMigration = False, preferredAddress = Nothing, activeConnectionIdLimit = 5, initialSourceConnectionId = Nothing, retrySourceConnectionId = Nothing, grease = Nothing, greaseQuicBit = True, versionInformation = Nothing}"! Safe-Inferred"%&*!" Safe-Inferred"%&1 quicThe sum of the size in bytes of all sent packets that contain at least one ack-eliciting or PADDING frame, and have not been acked or declared lost. The size does not include IP or UDP overhead, but does include the QUIC header and AEAD overhead. Packets only containing ACK frames do not count towards bytes_in_flight to ensure congestion control does not impede congestion feedback. quic3Maximum number of bytes-in-flight that may be sent. quicThe time when QUIC first detects congestion due to loss or ECN, causing it to enter congestion recovery. When a packet sent after this time is acknowledged, QUIC exits congestion recovery. quicSlow start threshold in bytes. When the congestion window is below ssthresh, the mode is slow start and the window grows by the number of bytes acknowledged. quicRecords number of bytes acked, and used for incrementing the congestion window during congestion avoidance. quicThe most recent RTT measurement made when receiving an ack for a previously unacked packet. quic#The smoothed RTT of the connection. quicThe RTT variation. quic;The minimum RTT seen in the connection, ignoring ack delay. quicThe maximum amount of time by which the receiver intends to delay acknowledgments for packets in the ApplicationData packet number space. The actual ack_delay in a received ACK frame may be larger due to late timers, reordering, or lost ACK frames. quicThe number of times a PTO has been sent without receiving an ack. quic+The RTT used before an RTT sample is taken.    # Safe-Inferred%&2t $ Safe-Inferred%&2  % Safe-Inferred%&2 & Safe-Inferred5] quicMaximum reordering in packets before packet threshold loss detection considers a packet lost. quicMaximum reordering in time before time threshold loss detection considers a packet lost. Specified as an RTT multiplier. quicTimer granularity. quic-Default limit on the initial bytes in flight. quic#Minimum congestion window in bytes. quicReduction in congestion window when a new loss event is detected. quicPeriod of time for persistent congestion to be established, specified as a PTO multiplier. ' Safe-Inferred%&5 ( Safe-Inferred"%&'5 ) Safe-Inferred%&6  * Safe-Inferred"%&6@ + Safe-Inferred"%&6v , Safe-Inferred%&6- Safe-Inferred"%&6. Safe-Inferred7%/ Safe-Inferred"7 0 Safe-Inferred<7 1 Safe-Inferred9p quic2encodePacketNumber 0xabe8bc 0xac5c02 == (0x5c02,2)True6encodePacketNumber 0xa82f30ea 0xa82f9b32 == (0x9b32,2)True5encodePacketNumber 0xabe8bc 0xace8fe == (0xace8fe, 3)True quic0decodePacketNumber 0xabe8bc 0x5c02 2 == 0xac5c02True4decodePacketNumber 0xa82f30ea 0x9b32 2 == 0xa82f9b32True2decodePacketNumber 0xabe8bc 0xace8fe 3 == 0xace8feTrue 2 Safe-Inferred9  3 Safe-Inferred: quicpayload size without paddings 4 Safe-Inferred":E5 Safe-Inferred":quicA type for debug logger.6 Safe-Inferred: 7 Safe-Inferred;c8 Safe-Inferred";a 9 Safe-Inferred";: Safe-Inferred";; Safe-Inferred< < Safe-InferredA lifetime (in seconds) for TLS session ticket and QUIC token.quicClient configuration.quicThe version to start with.quicCompatible versions with  in the preferred order.quic%Cipher candidates defined in TLS 1.3.quic1Key exchange group candidates defined in TLS 1.3.quicTLS credentials.quic=Use 0-RTT on the 2nd connection if possible. client originalquic(Used to create a socket and SNI for TLS.quicUsed to create a socket.quicAn ALPN provider.quic1Authenticating a server based on its certificate.quic1Use resumption on the 2nd connection if possible.quic#QUIC packet size (UDP payload size)quicHooks.quicDefault hooks.quic+The default value for client configuration.quic+The default value for server configuration.3> Safe-Inferred"%&B? Safe-Inferred"%&CWquic,A quic connection to carry multiple streams.quicA logger for debugging.@ Safe-InferredDA Safe-Inferred%&Equic%Waiting until 0-RTT data can be sent.quic%Waiting until 1-RTT data can be sent.quicFor clients, waiting until HANDSHAKE_DONE is received. For servers, waiting until a TLS stack reports that the handshake is complete.B Safe-InferredF(C Safe-Inferred%&FwD Safe-Inferred%&GVquicClosing a connection with/without a transport error. Internal threads should use this.quic8Closing a connection with an application protocol error.E Safe-Inferred%&GF Safe-Inferred"%&G G Safe-Inferred%&Hmquic%Getting information about resumption.H Safe-Inferred%&J/ quic+Reseting to Initial CID in the client side.quicSending NewConnectionIDquicReceiving NewConnectionIDquicAutomatic CID updatequic%Only for the internal "migration" APIquic After sending RetireConnectionIDquicReceiving NewConnectionIDquicPeer starts using a new CID.quicReceiving RetireConnectionIDI Safe-Inferred%&JJ Safe-InferredJK Safe-Inferred%&MxquicThis is not used internally.L Safe-Inferred%&MM Safe-InferredM"N Safe-Inferred"NL O Safe-InferredOquicStatistics of a connection.quic'Getting information about a connection.quic#Getting statistics of a connection. P Safe-Inferred"%&O@ Q Safe-InferredR{ quic Creating a bidirectional stream.quic!Creating a unidirectional stream.quicSending data in the stream.quic%Sending a list of data in the stream.quicSending FIN in a stream.  should be called later.quicClosing a stream without an error. This sends FIN if necessary.quic)Accepting a stream initiated by the peer.quicReceiving data in the stream. In the case where a FIN is received an empty bytestring is returned.quicClosing a stream with an error code. This sends RESET_STREAM to the peer. This is an alternative of .quicAsking the peer to stop sending. This sends STOP_SENDING to the peer and it will send RESET_STREAM back.  should be called later.   R Safe-Inferred"R S Safe-InferredS(  Safe-InferredSar,+*)('&%$#"! -r,+*)('&%$#"! ,+*)('&%$#"! -T Safe-Inferred"T U Safe-Inferred"U&quicHow to control a connection. quic,readerClient dies when the socket is closed. V Safe-Inferred"%&Vquic?Running a QUIC client. A UDP socket is created according to  and .If ccAutoMigration is  , a unconnected socket is made. Otherwise, a connected socket is made. Use the  API for the connected socket.quicCreating a new socket and execute a path validation with a new connection ID. Safe-InferredVW Safe-InferredWiX Safe-Inferred"%&W  Y Safe-Inferred"%&YquicRunning a QUIC server. The action is executed with a new connection in a new lightweight thread.quicRunning a QUIC server. The action is executed with a new connection in a new lightweight thread.quic'Stopping the base thread of the server. Safe-InferredYvquic(Getting a certificate chain of a client. Safe-InferredYcd=rmsvtuwxyz{|}~ ab_`Z[\]^AB?@> qonp+,*)('&%$#"! XST-efhgijklMUVWYCDEFGHIJKLNOPQR.5;:6/01234789< c=  cdefhgijabk_`lZ[\]^MNOPQR,+*)('&%$#"! -s~}|{zyxwutvrqponmSTUVWXYAB?@CD>EFGHIJKL./0123456789:;<  Z[\]^_]^`]^`]^a]^a]bcdef g g h h i j k l m n o p q r r s s t u v w x y z { | } ~                                                          !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""""$$$$$%%%%''())++,,,,----00000000000222222222223333444455557777777777777777777788888888889999::::::::;;;;;;;;;;?===================================================?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????>>@@@@AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIKKKLOOOOOQQQQQQQQQQUUUUUUVVWYYY          ZZZZZ                                                                                                                                                                                                                                     " " " " " " " " " " " " "" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "" " " " " " " " " " " " " " " " " " " " " " " # # # # # # # #$ $ $ $ % % % & & & & & & & & ' ' ' ' ( ( ( ) ) * * * + + + / 1 1 2 3 6 6 N N N OP Q Q Q Q Q Q Q Q R R R R R R R R R R R R R R R R R R R R R R R S S S S S S T U U  X X X X X X X X X X X X X X X X X X X X X X quic-0.2.7-FR6DumJvjchcMuYJRFU63Network.QUIC.Internal Network.QUICNetwork.QUIC.ClientNetwork.QUIC.ServerquicNetwork.QUIC.EventNetwork.QUIC.SocketNetwork.QUIC.Stream.FragNetwork.QUIC.Stream.SkewNetwork.QUIC.Types.AckNetwork.QUIC.Types.ErrorNetwork.QUIC.UtilsNetwork.QUIC.ImportsNetwork.QUIC.Types.TimeNetwork.QUIC.Types.ConstantsNetwork.QUIC.Types.IntegerNetwork.QUIC.Types.CIDNetwork.QUIC.Types.FrameNetwork.QUIC.Types.PacketNetwork.QUIC.Types.ResumptionNetwork.QUIC.Types.QueueNetwork.QUIC.Types.InfoNetwork.QUIC.Types.ExceptionNetwork.QUIC.TypesNetwork.QUIC.ConnectorNetwork.QUIC.Stream.TypesNetwork.QUIC.Stream.TableNetwork.QUIC.Stream.QueueNetwork.QUIC.Stream.MiscNetwork.QUIC.Stream.ReassNetwork.QUIC.StreamNetwork.QUIC.ParametersNetwork.QUIC.QlogNetwork.QUIC.Recovery.TypesNetwork.QUIC.Recovery.Utils'Network.QUIC.Recovery.PeerPacketNumbersNetwork.QUIC.Recovery.MiscNetwork.QUIC.Recovery.Constants Network.QUIC.Recovery.PersistentNetwork.QUIC.Recovery.MetricsNetwork.QUIC.Recovery.ReleaseNetwork.QUIC.Recovery.DetectNetwork.QUIC.Recovery.TimerNetwork.QUIC.Recovery.Interface"Network.QUIC.Recovery.LossRecoveryNetwork.QUIC.RecoveryNetwork.QUIC.QLoggerNetwork.QUIC.Packet.TokenNetwork.QUIC.Packet.NumberNetwork.QUIC.Packet.HeaderNetwork.QUIC.Packet.FrameNetwork.QUIC.Packet.DecodeNetwork.QUIC.LoggerNetwork.QUIC.ExceptionNetwork.QUIC.Crypto.TypesNetwork.QUIC.Crypto.NiteNetwork.QUIC.Crypto.UtilsNetwork.QUIC.Crypto.KeysNetwork.QUIC.Crypto.FusionNetwork.QUIC.CryptoNetwork.QUIC.ConfigNetwork.QUIC.TLSNetwork.QUIC.Connection.TypesNetwork.QUIC.Connection.TimeoutNetwork.QUIC.Connection.StateNetwork.QUIC.Connection.Queue$Network.QUIC.Connection.PacketNumberNetwork.QUIC.Connection.Misc#Network.QUIC.Connection.StreamTableNetwork.QUIC.Connection.StreamNetwork.QUIC.Connection.Role!Network.QUIC.Connection.MigrationNetwork.QUIC.Connection.CryptoNetwork.QUIC.ConnectionNetwork.QUIC.Packet.EncodeNetwork.QUIC.Packet.DecryptNetwork.QUIC.PacketNetwork.QUIC.SenderNetwork.QUIC.InfoNetwork.QUIC.ReceiverNetwork.QUIC.IONetwork.QUIC.HandshakeNetwork.QUIC.CommonNetwork.QUIC.CloserNetwork.QUIC.Client.ReaderNetwork.QUIC.Client.RunNetwork.QUIC.WindowsNetwork.QUIC.Server.ReaderNetwork.QUIC.Server.Runbytestring-0.11.5.2 Data.ByteString.Builder.InternalBuildertls-2.1.5-Jkia7dv5ystKsmhKv95FKNetwork.TLS.TypesTrafficSecretsServerTrafficSecretClientTrafficSecretNetwork.TLS.CipherCipher natRebinding clientSocket serverSocketPeerPacketNumbersAckInfoGapRange PacketNumberackInfo0 toAckInfo fromAckInfofromAckInfoWithMinfromAckInfoToPredemptyPeerPacketNumbersApplicationProtocolErrorTransportErrorVersionNegotiationError NoViablePathAeadLimitReachedKeyUpdateErrorCryptoBufferExceededApplicationError InvalidTokenProtocolViolationConnectionIdLimitErrorTransportParameterErrorFrameEncodingErrorFinalSizeErrorStreamStateErrorStreamLimitErrorFlowControlErrorConnectionRefused InternalErrorNoError cryptoError fromRightdec16enc16dec16senc16s shortToStringgetRandomOneBytegetRandomBytestotalLensum'withByteString shortpackignoreisAsyncException throughAsyncBytesTimeMicrosecond Microseconds Milliseconds milliToMicro microToMillitimeMicrosecond0getTimeMicrosecondgetElapsedTimeMicrosecondelapsedTimeMicrosecondgetTimeoutInMicrosecondgetPastTimeMicrosecondgetFutureTimeMicrosecondaddMicrosecondsmaximumUdpPayloadSizedefaultQUICPacketSizedefaultQUICPacketSizeForIPv4defaultQUICPacketSizeForIPv6maximumQUICHeaderSize idleTimeout encodeInt encodeInt8 encodeInt' encodeInt'2 encodeInt'4 decodeInt decodeInt'CIDInfo cidInfoSeq cidInfoCID cidInfoSRTPathDataStatelessResetTokenCID myCIDLengthnewCIDtoCIDfromCIDmakeCID unpackCIDnewStatelessResetToken newPathDataToken StreamData CryptoDataFinDelayStreamIdFramePaddingPingAck ResetStream StopSendingCryptoFNewTokenStreamFMaxData MaxStreamData MaxStreams DataBlockedStreamDataBlockedStreamsBlockedNewConnectionIDRetireConnectionID PathChallenge PathResponseConnectionCloseConnectionCloseApp HandshakeDone UnknownFrameSeqNum ReasonPhrase DirectionUnidirectional Bidirectional FrameTypeisClientInitiatedBidirectionalisServerInitiatedBidirectionalisClientInitiatedUnidirectionalisServerInitiatedUnidirectionalisClientInitiatedisServerInitiatedisBidirectionalisUnidirectional emptyToken ackElicitingpathValidatinginFlight rateControledEncodedPacketNumberRaw ProtectedFlagsEncryptionLevel InitialLevel RTT0LevelHandshakeLevel RTT1LevelLongHeaderPacketTypeInitialPacketTypeRTT0PacketTypeHandshakePacketTypeRetryPacketTypeReceivedPacket rpCryptPacketrpTimeReceviedrpReceivedBytesrpEncryptionLevelStatelessResetCryptcryptPktNumOffset cryptPacket cryptMarksPlain plainFlagsplainPacketNumber plainFrames plainMarks CryptPacket PlainPacketHeaderInitialRTT0 HandshakeShort BrokenPacket RetryPacketVersionNegotiationPacketPacketOPacketOVPacketORPacketOPPacketIPacketIVPacketIRPacketICPacketIB VersionInfo chosenVersion otherVersionsVersionGreasingVersion2GreasingVersionDraft29Version2Version1 NegotiationisGreasingVersionbrokenVersionInfo!extensionIDForTtransportParameter headerMyCID headerPeerCIDdefaultPlainMarkssetIllegalReservedBitssetUnknownFrame setNoFrames setNoPaddings set4bytesPNisIllegalReservedBitsisUnknownFrame isNoFrames isNoPaddings is4bytesPNisCryptDelayedsetCryptDelayedmkReceivedPacketpacketEncryptionLevelResumptionInforesumptionVersionresumptionSessionresumptionTokenresumptionRetrySessionEstablishdefaultResumptionInfois0RTTPossibleisResumptionPossible get0RTTCipherRecvQnewRecvQ readRecvQ writeRecvQ prependRecvQConnectionInfoversioncipheralpn handshakeModeretry localSockAddrremoteSockAddrlocalCID remoteCIDAbortVerNego NextVersionInternalControlMustNotReachedExitConnectionWrongTransportParameterWrongVersionInformation BreakForever QUICExceptionConnectionIsClosedTransportErrorIsReceivedTransportErrorIsSent"ApplicationProtocolErrorIsReceivedApplicationProtocolErrorIsSentConnectionIsTimeoutConnectionIsResetStreamIsClosedHandshakeFailedVersionIsUnknownNoVersionIsSpecifiedVersionNegotiationFailedBadThingHappen SizedBufferCloseConnectionState Handshaking ReadyFor0RTT ReadyFor1RTT EstablishedRoleClientServer ConnStateroleconnectionState packetNumberencryptionLevel maxPacketSizeconnectionAlive ConnectorgetRolegetEncryptionLevelgetMaxPacketSizegetConnectionStategetPacketNumbergetAlive newConnStateisClientisServerisConnectionEstablishedAuthCIDs initSrcCID origDstCID retrySrcCID ParametersoriginalDestinationConnectionIdmaxIdleTimeoutstatelessResetTokenmaxUdpPayloadSizeinitialMaxDatainitialMaxStreamDataBidiLocalinitialMaxStreamDataBidiRemoteinitialMaxStreamDataUniinitialMaxStreamsBidiinitialMaxStreamsUniackDelayExponent maxAckDelaydisableActiveMigrationpreferredAddressactiveConnectionIdLimitinitialSourceConnectionIdretrySourceConnectionIdgrease greaseQuicBitversionInformationencodeParametersdecodeParametersbaseParametersdefaultParametersdefaultAuthCIDssetCIDsToParametersgetCIDsToParametersKeepQlogkeepQlogQLoggerQlogMsg QRecvInitial QSentRetryQSent QReceivedQDroppedQMetricsUpdated QPacketLostQCongestionStateUpdatedQLossTimerUpdatedQDebug QParamsSet QCIDUpdateLRLocalRemoteDebugQlogqlog packetTypesw newQlogger qlogReceived qlogDroppedqlogRecvInitial qlogSentRetry qlogParamsSet qlogDebug qlogCIDUpdateLDCC SentPacket spPlainPacket spTimeSent spSentBytesspEncryptionLevelspPacketNumberspPeerPacketNumbersspAckEliciting mkSentPacket fixSentPacketnewLDCCqlogSentgetPeerPacketNumberssetPreviousRTT1PPNsgetPreviousRTT1PPNsnullPeerPacketNumbersfromPeerPacketNumbers getSpeedingUpgetPacketNumberSpaceDiscarded#getAndSetPacketNumberSpaceDiscardedsetMaxAckDaley findDurationgetPTOsetInitialCongestionWindowreleaseByRetry releaseOldest ldccTimer beforeAntiAmpcheckWindowOpenSTM takePingSTMspeedupresender onPacketSentonPacketReceived onAckReceivedonPacketNumberSpaceDiscarded CryptoTokentokenQUICVersion tokenLifeTimetokenCreatedTime tokenCIDs isRetryToken generateTokengenerateRetryToken encryptToken decryptTokenisLongisShortunprotectFlags protectFlagsencodeShortHeaderFlagsencodeLongHeaderFlagsretryPacketTypeversionNegotiationPacketTypedecodeLongHeaderPacketTypeencodePktNumLengthdecodePktNumLength encodeFramesdecodeFramesBSdecodeFramesBuffer countZerodecodeCryptPackets decodePackets decodePacketdecodeStatelessResetToken DebugLoggerbhow stdoutLoggerdirDebugLogger InitialSecretNonceLabelMaskSampleAssDatSecretIVKeySalt CipherText PlainTextaes128gcmEncrypt makeNoncemakeNiteEncrypt niteEncrypt niteEncrypt'makeNiteDecrypt niteDecrypt niteDecrypt'protectionMaskmakeNiteProtectorbsXOR tagLength sampleLengthcalculateIntegrityTag defaultCipherinitialSecretsclientInitialSecretserverInitialSecretaeadKeyheaderProtectionKey initialVector nextSecret Supplement FusionContextfusionNewContext fusionSetup fusionEncrypt fusionDecryptfusionSetupSupplementfusionSetSample fusionGetMaskisFusionAvailable Connection RecvStreamQ recvStreamQ pendingData endOfStream StreamState streamOffset streamFin RxStreamData rxstrmData rxstrmOff rxstrmLen rxstrmFin TxStreamDataLengthStreamstreamIdstreamConnection newStream syncFinTx waitFinTxgetTxStreamOffsetisTxStreamClosedsetTxStreamClosedgetRxStreamOffsetisRxStreamClosedsetRxStreamClosedreadStreamFlowTxaddTxStreamDatasetTxMaxStreamDatagetRxMaxStreamDataupdateStreamFlowRxFlowCntl OverLimit Duplicated ReassembledtakeRecvStreamQwithSizeputRxStreamData tryReassemble StreamTableemptyStreamTable lookupStream insertStream deleteStreaminsertCryptoStreamsdeleteCryptoStreamlookupCryptoStream ServerConfig scVersions scCiphersscGroups scParametersscKeyLogscQLog scCredentialsscHooks scTlsHooks scUse0RTT scAddressesscALPNscRequireRetryscSessionManager scDebugLogscTicketLifetime ClientConfig ccVersion ccVersions ccCiphersccGroups ccParametersccKeyLogccQLog ccCredentialsccHooks ccTlsHooks ccUse0RTT ccServerName ccPortNameccALPN ccValidate ccResumption ccPacketSize ccDebugLogHooksonCloseCompletedonPlainCreatedonTransportParametersCreatedonTLSExtensionCreatedonTLSHandshakeCreatedonResetStreamReceived onServerReadyonConnectionEstablished defaultHooksdefaultClientConfigdefaultServerConfigSharedsharedCloseSentsharedCloseReceivedshared1RTTReadysharedSendStreamQ SendStreamQ MigrationQ OutputQLimOutputQCryptoQInputQOutput OutControl OutHandshake OutRetransCrypto InpHandshakeInput InpStream connState connDebugLogconnQLog connHooksconnSendconnRecv connRecvQ connSocketreaders mainThreadId controlRateroleInfoquicVersionInfoorigVersionInfo myParametersmyCIDDBpeerParameters peerCIDDBpeerInfoinputQcryptoQoutputQ outputQLim migrationQshareddelayedAckCountdelayedAckCancelpeerPacketNumber streamTable myStreamId myUniStreamId peerStreamIdpeerUniStreamIdflowTxflowRxmigrationStateminIdleTimeoutbytesTxbytesRxaddressValidatedpendingQcipherscoders coders1RTT protectorscurrentKeyPhase negotiatedconnMyAuthCIDsconnPeerAuthCIDs connResources encodeBuf encryptRes decryptBufconnLDCCPeerInfoRecvSend Concurrency currentStream maxStreams StreamIdBasefromStreamIdBase NegotiatedtlsHandshakeModeapplicationProtocolapplicationSecretInfo Protector setSamplegetMask unprotect Coder1RTT coder1RTTsecretNCoderencryptdecrypt supplementMigrationState NonMigrationMigrationStarted SendChallenge RecvResponseCIDDB usedCIDInfocidInfosrevInfos nextSeqNum triggeredByMeRoleInfo ClientInfo ServerInfoclientInitialTokenresumptionInfoincompatibleVN tokenManager registerCID unregisterCIDaskRetry stopServer certChain dummySecretsdefaultClientRoleInfodefaultServerRoleInfonewCIDDB initialCoderinitialCoder1RTTinitialProtectorinitialNegotiatednewConcurrencysetDead makePendingQ newConnectiondefaultTrafficSecretsclientConnectionserverConnection newSharedclientHandshakerserverHandshakertimeoutfirecfiredelaysetConnection0RTTReadysetConnection1RTTReadysetConnectionEstablishedisConnection1RTTReady wait0RTTReady wait1RTTReadywaitEstablishedreadConnectionFlowTx addTxData setTxMaxData getRxMaxData updateFlowRxcheckRxMaxData addTxBytes getTxBytes addRxBytes getRxBytessetAddressValidatedwaitAntiAmplificationFreecheckAntiAmplificationFree takeInputputInput takeCrypto putCrypto takeOutputSTM tryTakeOutput tryPeekOutput putOutput outputLimit putOutputLimtakeOutput1STMtakeSendStreamQtakeSendStreamQSTMtryPeekSendStreamQputSendStreamQreadMigrationQwriteMigrationQnextPacketNumbergetPeerPacketNumbersetPeerPacketNumbersetVersionInfogetVersionInfo setVersion getVersiongetOriginalVersion getSocket setSocket clearSocket getPeerInfo setPeerInfogetPeerAuthCIDssetPeerAuthCIDsgetClientDstCIDgetMyParametersgetPeerParameterssetPeerParameters delayedAckresetDealyedAcksetMaxPacketSize addResource freeResources forkManaged killReadersreadMinIdleTimeoutsetMinIdleTimeout sendFrames sendFramesLimcloseConnectionabortConnection createStream findStream addStream delStreaminitialRxMaxStreamDatasetupCryptoStreamsclearCryptoStreamgetCryptoStream getMyStreamIdpossibleMyStreamswaitMyNewStreamIdwaitMyNewUniStreamIdsetTxMaxStreamssetTxUniMaxStreamsupdatePeerStreamIdcheckRxMaxStreamscheckStreamIdRoomsetTokengetTokengetResumptionInfo setRetried getRetriedsetIncompatibleVNgetIncompatibleVNsetResumptionSession setNewToken setRegister getRegister getUnregistersetTokenManagergetTokenManager setStopServer getStopServersetCertificateChaingetCertificateChaingetMyCID getMyCIDsgetMyCIDSeqNum getPeerCIDisMyCIDshouldUpdateMyCID myCIDsInclude resetPeerCID getNewMyCID addPeerCIDshouldUpdatePeerCIDchoosePeerCIDForPrivacy waitPeerCID retirePeerCIDsetPeerCIDAndRetireCIDssetMyCID retireMyCIDsetPeerStatelessResetTokenisStatelessRestTokenValid validatePathsetMigrationStartedisPathValidating checkResponsesetEncryptionLevel putOffCryptowaitEncryptionLevel getCipher setCipher getTLSModegetApplicationProtocol setNegotiated dropSecretsinitializeCoderinitializeCoder1RTTupdateCoder1RTTgetCoder getProtectorgetCurrentKeyPhasesetCurrentKeyPhaseencodeVersionNegotiationPacketencodeRetryPacketencodePlainPacket decryptCryptConnectionStatstxBytesrxBytesgetConnectionInfogetConnectionStatsstreamunidirectionalStream sendStreamsendStreamManyshutdownStream closeStream acceptStream recvStream resetStream stopStreamConnectionControlChangeServerCIDChangeClientCID NATRebindingActiveMigrationcontrolConnectionrunmigratewindowsThreadBlockHackrunWithSocketsstopclientCertificateChainbaseGHC.Event.ThreadgetSystemTimerManagerGHC.Event.TimerManagerregisterTimeoutunregisterTimeout updateTimeout TimerManagerGHC.Event.TimeOutTimeoutCallback TimeoutKeyFFragnextOffcurrOffshrink shrinkSeqinsertminimum deleteMin'mergeSkewNodeLeafempty deleteMin deleteMinIfData.ByteString.Internal.Type ByteStringBSPSData.ByteString.Short.InternalShortByteStringSBSGHC.Base Applicative<*>pure*><*liftA2 Alternative<|>somemanyData.Functor.ConstConstgetConstControl.ApplicativeZipList getZipList WrappedArrow WrapArrow unwrapArrow WrappedMonad WrapMonad unwrapMonadFunctor<$fmap<**> Data.Functor<$>liftAliftA3optional Data.FoldableasumMonadreturn>>>>= MonadPlusmzeromplusControl.Monad.Fail MonadFailfailjoinmapM_forM_Data.TraversablemapMsequenceforM Control.MonadforeverliftMguard=<<whenliftM2liftM3liftM4liftM5apvoid sequence_msumfilterM>=><=< mapAndUnzipMzipWithM zipWithM_foldMfoldM_ replicateM replicateM_unless<$!>mfilterGHC.Bits FiniteBits finiteBitSizecountLeadingZeroscountTrailingZerosBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount Data.BitsIffgetIffXorgetXorIorgetIorAndgetAnd bitDefaulttestBitDefaultpopCountDefaulttoIntegralSizedoneBits.^..>>..<<.!>>.!<<.FoldablefoldrnulllengthfoldltoListfoldl'foldl1sumproductfoldr'foldr1maximumelemfoldfoldMapfoldMap' maximumBy minimumByconcatandoranyallnotElem concatMapfoldrMfoldlM traverse_for_ sequenceA_find GHC.IORefIORefatomicModifyIORef' Data.IORefatomicWriteIORefatomicModifyIORefnewIORef readIORef writeIORef mkWeakIORef modifyIORef modifyIORef'ghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64MonoidmconcatmappendmemptyData.Semigroup.InternalAnygetAnySumgetSumProduct getProduct Data.MonoidLastgetLastFirstgetFirstAltgetAltAllgetAllEndoappEndoDualgetDualApgetAp<>OrderingLTEQGT GHC.ClassesOrdcompare>=<<=>maxminData.OrdDowngetDownclamp comparingWordGHC.WordWord8Word64Word32Word16 byteSwap16 byteSwap32 byteSwap64 bitReverse8 bitReverse16 bitReverse32 bitReverse64GHC.ArrArrayGHC.IxIxrangeindexinRange rangeSizearray listArray!boundsindiceselemsassocs accumArray//accumixmap array-0.5.5.0Data.Array.IO.InternalsIOUArray GHC.IOArrayIOArrayData.Array.BaseMArray getBoundsnewArray newArray_ newListArray readArray writeArraygetElems getAssocsmapArray mapIndicesfreezethaw Data.Array.IO hGetArray hPutArray GHC.MaybeMaybeNothingJust Data.MaybemaybeisJust isNothingfromJust fromMaybe maybeToList listToMaybe catMaybesmapMaybe GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexpGHC.Real showSigned showFloat floatToDigitsfromRatGHC.Read lexDigitsNumericreadIntreadBinreadOctreadDecreadHex readFloat readSignedshowInt showEFloat showFFloat showGFloat showFFloatAlt showGFloatAlt showHFloat showIntAtBaseshowHexshowOctshowBin/network-byte-order-0.1.7-183l24JU6xQ9NGdCLjd3gUNetwork.ByteOrder ReadBuffer WriteBufferoffsetstartlimit oldoffsetBufferOffset BufferOverrunReadableread8readInt8ff remainingSizepositionwithCurrentOffSetsave savingSizegoBack BufferSize toByteStringcopyword8toShortByteStringpoke8poke16poke24poke32poke64peek8peek16peek24peek32peek64peekByteString bytestring8 bytestring16 bytestring32 bytestring64word16word32word64unsafeWithByteStringbufferIOnewWriteBufferclearWriteBufferwrite8write16write24write32write64 shiftLastNcopyByteStringcopyShortByteStringwithWriteBufferwithWriteBuffer' currentOffset newReadBufferwithReadBufferextractByteStringextractShortByteStringread16read24read32read64atomicModifyIORef''copyBS fromThreadId streamFlowTx streamFlowRx streamStateTx streamStateRx streamRecvQ streamReassstreamSyncFinTxputRecvStreamQtakeRecvStreamQtryTakeRecvStreamQaddRxStreamData bytesInFlightcongestionWindowcongestionRecoveryStartTimessthresh bytesAcked latestRTT smoothedRTTrttvarminRTTmaxAckDelay1RTTptoCount kInitialRTT LostPacket SentPacketsemptySentPacketsRTT initialRTTCCModeRecovery SlowStart AvoidanceCCnumOfAckElicitingccMode initialCC LossDetectionlargestAckedPacketpreviousAckInfotimeOfLastAckElicitingPacketlossTimeinitialLossDetection MetricsDiff TimerTypeLossTimePTO TimerInfo timerTime timerLevel timerType TimerInfoQEmptyNextTimerCancelled TimerExpiredmakeSentPacketsmakeLossDetection ldccState ldccQlogger putRetrans recoveryRTT recoveryCCspaceDiscarded sentPackets lossDetectiontimerKey timerInfolostCandidatesptoPing speedingUppktNumPersistentpeerPacketNumberspreviousRTT1PPNs timerInfoQqlogMetricsUpdatedqlogPacketLostqlogContestionStateUpdatedqlogLossTimerUpdatedqlogLossTimerCancelledqlogLossTimerExpired retransmitsendPingmergeLostCandidatesmergeLostCandidatesAndClearpeerCompletedAddressValidation countAckEliinCongestionRecoveryaddPeerPacketNumbersdelPeerPacketNumbersclearPeerPacketNumbersreducePeerPacketNumbersgetPktNumPersistentsetPktNumPersistent setSpeedingUpkPacketThresholdkTimeThreshold kGranularitykInitialWindowkMinimumWindowkLossReductionFactorkPersistentCongestionThresholdtimerGranularitygetMaxAckDelaycalcPTObackOffinPersistentCongestion updateRTTupdateCCmetricsUpdateddiscard onPacketsLostreleaseByPredicatedetectAndRemoveLostPacketsremovePacketNumbersgetLossTimeAndSpacegetPtoTimeAndSpacesetLossDetectionTimer dirQLoggerencodePacketNumberdecodePacketNumberisQuicencodeFramesWithPadding handleLogT handleLogUnitsendermkHeader sendFinalreceiverBlocked StrmBlocked ConnBlocked BothBlockedaddTx sendBlockedsplit checkBlockedHndState hsRecvCntnewHndStateRef sendCompleted recvCompletedrxLevelChangedsendCryptoDatarecvCryptoDatarecvTLSsendTLS internalErrorhandshakeClienthandshakeClient'handshakeServerhandshakeServer' setPeerParamsstoreNegotiatedsendCCParamError sendCCVNErrorsendCCTLSErrorsendCCTLSAlert getErrorCauseConnResconnResConnectiondefaultPacketSizemaximumPacketSizelabelMeclosure readerClient recvClientTrueDispatchtokenMgr newDispatch clearDispatch runDispatcherAcceptaccVersionInfo accMyAuthCIDsaccPeerAuthCIDs accMySocket accPeerInfoaccRecvQ accPacketSize accRegister accUnregisteraccAddressValidatedaccTime recvServer ServerStateStoppedRunning