h$O\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None) Safe-Inferredd Safe-Inferredquic1Insertion. Worst-case: O(N), amortized: O(log N). Safe-Inferred'quic 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]   Nonequic$Application protocol errors of QUIC.quicTransport errors of QUIC.*quic:Converting a TLS alert to a corresponding transport error. !"#$%&'()* None ) +,-./01234567 None8quic All internal byte sequences. & should be used for FFI related stuff. +,-./012345678  8 8 None9:;<=>?@ABCDEFG NoneHIJKLMNoneNquic$enc16 $ encodeInt 151288809941952652"c2197c5eff14e88c"enc16 $ encodeInt 494878333 "9d7f3e7d"enc16 $ encodeInt 15293"7bbd"enc16 $ encodeInt 37"25"Squic$decodeInt (dec16 "c2197c5eff14e88c")151288809941952652decodeInt (dec16 "9d7f3e7d") 494878333decodeInt (dec16 "7bbd")15293decodeInt (dec16 "25")37NOPQRSTNone^quicA type for conneciton ID.cquicConverting a connection ID.UVWXYZ[\]^_`abcdefgNone mquicStream 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.-hijklmn~}|{zyxwvutsrpoqNone#$quicInformation about resumptionquicIs 0RTT possible?quicIs resumption possible? None quic QUIC version.NoneNonequicUser level exceptions for QUIC.Noneh  !"#$%&'()*89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYWXZ[\]^_`abcdefghijklmn~}|{zyxwvutsrpqoNone!None#$!quic"An abstract data type for streams.quicGetting stream identifier.#  None "5None#$"i None#$"None #$"None"6None #$$2quicQUIC transport parameters.quic0The default value for QUIC transport parameters.quic3An example parameters obsoleted in the near future.!None #$>$!None #$>+B 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.     None #$, !None#$,P  "None#$, #None. 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. $None #$/ %None #$%/Q  &None #$/~  'None #$/ (None #$/  )None #$0*None #$04+None0^%,None 0 -None0 .None2 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 /None2 0None 3& quicpayload size without paddings 1None 3Q2None 3quicA type for debug logger.3None3 4None 3*^5None4f 6None 9quicServer configuration.quic Versions in the preferred order.quic%Cipher candidates defined in TLS 1.3.quic1Key exchange group candidates defined in TLS 1.3.quicServer certificate information.quic=Use 0-RTT on the 2nd connection if possible. server originalquic5Server addresses assigned to used network interfaces.quic ALPN handler.quicRequiring QUIC retry.quicA session manager of TLS 1.3.quicClient configuration.quic Versions 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)quicIf  , use a unconnected socket for auto migration. Otherwise, use a connected socket.quicHooks.quicDefault hooks.quic+The default value for client configuration.quic+The default value for server configuration..7None #$:28None #$:quic,A quic connection to carry multiple streams.quicA logger for debugging.9None3;:None #$< ;None#$=2quic%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.<None#$=quic%Getting information about resumption.=None= >None#$>=?None#$?quicClosing a connection with/without a transport error. Internal threads should use this.quic8Closing a connection with an application protocol error.@None#$?gANone#$A 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 RetireConnectionIDBNone#$A^CNone ADNoneD quicThis is not used internally.ENone #$D4FNoneDX GNone #$D quic,readerServer dies when the socket is closed. HNone ED INone #$Em JNone #$FHquicStatistics of a connection.quicInformation about a connection.quic'Getting information about a connection.quic#Getting statistics of a connection.KNone I 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.   LNone I MNoneJ1 NoneJ_)('&%$#"! *mm)('&%$#"! )('&%$#"! *NNone K ONone #$L`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.NoneLquic(Getting a certificate chain of a client.  PNone MuquicHow to control a connection. quic,readerClient dies when the socket is closed. NoneM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYWXZ[\]^_`abcdefghijklmn~}|{zyxwvutsrpqo^8  ^_`acbde\]fZ[gUVWXYHIJKLM)('&%$#"! *n~}|{zyxwvutsrpoqmlkjihNOPQRST<=:;>?9@ABCDEFG+,-./01234567QNone #$\9quic?Running a QUIC client. A UDP socket is created according to  and .If  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. Typically, this is used for migration in the case where  is  6. But this can also be used even when the value is  .None\a RSTUVWUXYUXYUXZUXZUX[8\]]^^_`abcdefg h h i i j k l m n o p q r s t u v w x y z { | } ~                                !!!!!""""$$%&&(())))****----------///////////000111122224444444444444444444444444444444444455555555566666666666666666666666666666666666666666666667788888888888888888888\88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999:::::::;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<=============>>>????????????????????????@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBDDDEJJJJJJJJJJJJJJJJJKKKKKKKKKKOOPPPPPPQQRR                                                                                                                                                   R  R                                                                                               ! ! ! ! " " " # # # # # # # # $ $ $ $ % % % & & ' ' ' ( ( ( , . . 0 3 3  G G G G G G G G G G G G G G G G G G G G G H H I K K K K K K K K L L L L L L L L L L L L L L L L L L L L L M M M M M N P P  !quic-0.0.0-8QphMXB8xAJDw3oCbCrtNwNetwork.QUIC.Internal Network.QUICNetwork.QUIC.ServerNetwork.QUIC.ClientNetwork.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.ResumptionNetwork.QUIC.Types.PacketNetwork.QUIC.Types.QueueNetwork.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.CryptoNetwork.QUIC.CryptoFusionNetwork.QUIC.ConfigNetwork.QUIC.TLSNetwork.QUIC.Connection.TypesNetwork.QUIC.Connection.TimeoutNetwork.QUIC.Connection.StreamNetwork.QUIC.Connection.StateNetwork.QUIC.Connection.RoleNetwork.QUIC.Connection.Queue$Network.QUIC.Connection.PacketNumberNetwork.QUIC.Connection.Misc#Network.QUIC.Connection.StreamTable!Network.QUIC.Connection.MigrationNetwork.QUIC.Connection.CryptoNetwork.QUIC.ConnectionNetwork.QUIC.Packet.EncodeNetwork.QUIC.Packet.DecryptNetwork.QUIC.PacketNetwork.QUIC.Server.ReaderNetwork.QUIC.SenderNetwork.QUIC.ReceiverNetwork.QUIC.InfoNetwork.QUIC.IONetwork.QUIC.HandshakeNetwork.QUIC.CommonNetwork.QUIC.CloserNetwork.QUIC.Server.RunNetwork.QUIC.Client.ReaderNetwork.QUIC.Client.Runbytestring-0.10.10.0 Data.ByteString.Builder.InternalBuilder tls-1.5.5-8Xnb5QLqjUD1NDEWFJipxONetwork.TLS.CipherCipherNetwork.TLS.TypesClientTrafficSecretServerTrafficSecretTrafficSecrets ConnectionPeerPacketNumbersAckInfoGapRange PacketNumberackInfo0 toAckInfo fromAckInfofromAckInfoWithMinfromAckInfoToPredemptyPeerPacketNumbersApplicationProtocolErrorTransportError NoViablePathAeadLimitReachedKeyUpdateErrorCryptoBufferExceededApplicationError InvalidTokenProtocolViolationConnectionIdLimitErrorTransportParameterErrorFrameEncodingErrorFinalSizeErrorStreamStateErrorStreamLimitErrorFlowControlErrorConnectionRefused InternalErrorNoError cryptoError fromRightdec16enc16dec16senc16s shortToStringgetRandomOneBytegetRandomBytestotalLensum'withByteString shortpackignoreBytesTimeMicrosecond 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 FrameTypeisClientInitiatedBidirectionalisServerInitiatedBidirectionalisClientInitiatedUnidirectionalisServerInitiatedUnidirectionalisClientInitiatedisServerInitiated emptyToken ackElicitingpathValidatinginFlightResumptionInforesumptionSessionresumptionTokenresumptionRetrySessionEstablishdefaultResumptionInfois0RTTPossibleisResumptionPossible get0RTTCipherEncodedPacketNumberRaw ProtectedFlagsEncryptionLevel InitialLevel RTT0LevelHandshakeLevel RTT1LevelLongHeaderPacketTypeInitialPacketTypeRTT0PacketTypeHandshakePacketTypeRetryPacketTypeReceivedPacket rpCryptPacketrpTimeReceviedrpReceivedBytesrpEncryptionLevelStatelessResetCryptcryptPktNumOffset cryptPacket cryptMarksPlain plainFlagsplainPacketNumber plainFrames plainMarks CryptPacket PlainPacketHeaderInitialRTT0 HandshakeShort BrokenPacket RetryPacketVersionNegotiationPacketPacketOPacketOVPacketORPacketOPPacketIPacketIVPacketIRPacketICPacketIBVersionGreasingVersion2GreasingVersionDraft29Version1 Negotiation headerMyCID headerPeerCIDdefaultPlainMarkssetIllegalReservedBitssetUnknownFrame setNoFrames setNoPaddings set4bytesPNisIllegalReservedBitsisUnknownFrame isNoFrames isNoPaddings is4bytesPN isCryptLoggedisCryptDelayedsetCryptLoggedsetCryptDelayedmkReceivedPacketpacketEncryptionLevelRecvQnewRecvQ readRecvQ writeRecvQ prependRecvQAbortVerNego NextVersionInternalControlMustNotReachedExitConnectionWrongTransportParameter BreakForever QUICExceptionConnectionIsClosedTransportErrorIsReceivedTransportErrorIsSent"ApplicationProtocolErrorIsReceivedApplicationProtocolErrorIsSentConnectionIsTimeoutConnectionIsResetStreamIsClosedHandshakeFailedVersionIsUnknownNoVersionIsSpecifiedVersionNegotiationFailedBadThingHappenCloseReceiveSendBufConnectionState Handshaking ReadyFor0RTT ReadyFor1RTT EstablishedRoleClientServer ConnStateroleconnectionState packetNumberencryptionLevel maxPacketSizeconnectionAlive ConnectorgetRolegetEncryptionLevelgetMaxPacketSizegetConnectionStategetPacketNumbergetAlive newConnStateisClientisServerisConnectionEstablished RecvStreamQ recvStreamQ pendingData endOfStream StreamState streamOffset streamFinFlowflowData flowMaxData RxStreamData rxstrmData rxstrmOff rxstrmLen rxstrmFin TxStreamDataLengthStreamstreamIdstreamConnection newStream defaultFlow flowWindow StreamTableemptyStreamTable lookupStream insertStream deleteStreaminsertCryptoStreamsdeleteCryptoStreamlookupCryptoStreamgetTxStreamOffsetisTxStreamClosedsetTxStreamClosedgetRxStreamOffsetisRxStreamClosedsetRxStreamClosedreadStreamFlowTxaddTxStreamDatasetTxMaxStreamDataaddRxStreamDatasetRxMaxStreamDataaddRxMaxStreamDatagetRxMaxStreamDatagetRxStreamWindowreadStreamFlowRxtakeRecvStreamQwithSizeputRxStreamData tryReassembleAuthCIDs initSrcCID origDstCID retrySrcCID ParametersoriginalDestinationConnectionIdmaxIdleTimeoutstatelessResetTokenmaxUdpPayloadSizeinitialMaxDatainitialMaxStreamDataBidiLocalinitialMaxStreamDataBidiRemoteinitialMaxStreamDataUniinitialMaxStreamsBidiinitialMaxStreamsUniackDelayExponent maxAckDelaydisableActiveMigrationpreferredAddressactiveConnectionIdLimitinitialSourceConnectionIdretrySourceConnectionIdgrease greaseQuicBitencodeParametersdecodeParametersbaseParametersdefaultParametersdefaultAuthCIDssetCIDsToParametersgetCIDsToParametersKeepQlogkeepQlogQLoggerQlogMsg 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 CryptoTokentokenQUICVersiontokenCreatedTime tokenCIDs isRetryToken generateTokengenerateRetryToken encryptToken decryptTokenisLongisShortunprotectFlags protectFlagsencodeShortHeaderFlagsencodeLongHeaderFlagsretryPacketTypeversionNegotiationPacketTypedecodeLongHeaderPacketTypeencodePktNumLengthdecodePktNumLength encodeFrames decodeFrames countZerodecodeCryptPackets decodePackets decodePacketdecodeStatelessResetToken DebugLoggerbhow stdoutLoggerdirDebugLogger InitialSecretNonceMaskSampleAddDatSecretIVKey CipherText PlainText defaultCipherinitialSecretsclientInitialSecretserverInitialSecretaeadKeyheaderProtectionKey initialVector nextSecret makeNonceencryptPayloadencryptPayload'decryptPayloaddecryptPayload'protectionMask tagLength sampleLengthbsXORcalculateIntegrityTag Supplement FusionContextfusionNewContext fusionSetup fusionEncrypt fusionDecryptfusionSetupSupplementfusionSetSample fusionGetMask ServerConfig scVersions scCiphersscGroups scParametersscKeyLogscQLog scCredentialsscHooks scUse0RTT scAddressesscALPNscRequireRetryscSessionManager scDebugLog ClientConfig ccVersions ccCiphersccGroups ccParametersccKeyLogccQLog ccCredentialsccHooks ccUse0RTT ccServerName ccPortNameccALPN ccValidate ccResumption ccPacketSize ccDebugLogccAutoMigrationHooksonCloseCompletedonPlainCreatedonTransportParametersCreatedonTLSExtensionCreatedonTLSHandshakeCreatedonResetStreamReceived defaultHooksdefaultClientConfigdefaultServerConfigclientHandshakerserverHandshakerSharedsharedCloseSentsharedCloseReceivedshared1RTTReadysharedSendStreamQ SendStreamQ MigrationQOutputQCryptoQInputQOutput OutControl OutHandshake OutRetransCrypto InpHandshakeInput InpStream connState connDebugLogconnQLog connHooks connRecvQsocketsreaderstmouter mainThreadIdroleInfo quicVersion myParametersmyCIDDBpeerParameters peerCIDDBinputQcryptoQoutputQ migrationQshareddelayedAckCountdelayedAckCancelpeerPacketNumber streamTable myStreamId myUniStreamId peerStreamIdflowTxflowRxmigrationStateminIdleTimeoutbytesTxbytesRxaddressValidatedpendingQcipherscoders coders1RTT protectorscurrentKeyPhase negotiated handshakeCIDs connResourcesconnLDCC Concurrency currentStream streamType maxStreams NegotiatedtlsHandshakeModeapplicationProtocolapplicationSecretInfo Protector setSamplegetMask unprotect Coder1RTT coder1RTTsecretN supplementCoderencryptdecryptMigrationState NonMigrationMigrationStarted SendChallenge RecvResponseCIDDB usedCIDInfocidInfosrevInfos nextSeqNum triggeredByMeRoleInfo ClientInfo ServerInfoclientInitialTokenresumptionInfo serverAddr tokenManager registerCID unregisterCIDaskRetry baseThreadId certChain dummySecretsdefaultClientRoleInfodefaultServerRoleInfonewCIDDB initialCoderinitialCoder1RTTinitialProtectorinitialNegotiatednewConcurrencysetDead makePendingQ newConnectiondefaultTrafficSecretsclientConnectionserverConnection newShared timeoutertimeoutfirecfiredelay getMyStreamIdwaitMyNewStreamIdwaitMyNewUniStreamIdsetMyMaxStreamssetMyUniMaxStreamssetPeerMaxStreamsgetPeerMaxStreamssetConnection0RTTReadysetConnection1RTTReadysetConnectionEstablishedisConnection1RTTReady wait0RTTReady wait1RTTReadywaitEstablishedreadConnectionFlowTx addTxData getTxData setTxMaxData getTxMaxData addRxData getRxData addRxMaxData getRxMaxDatagetRxDataWindow addTxBytes getTxBytes addRxBytes getRxBytessetAddressValidatedwaitAntiAmplificationFreecheckAntiAmplificationFreesetTokengetTokengetResumptionInfo setRetried getRetriedsetResumptionSession setNewToken setRegister getRegister getUnregistersetTokenManagergetTokenManagersetBaseThreadIdgetBaseThreadIdsetCertificateChaingetCertificateChain setServerAddr getServerAddr takeInputputInput takeCrypto putCrypto takeOutputSTM tryPeekOutput putOutputtakeSendStreamQtakeSendStreamQSTMtryPeekSendStreamQputSendStreamQreadMigrationQwriteMigrationQnextPacketNumbergetPeerPacketNumbersetPeerPacketNumber setVersion getVersion getSockets addSocket clearSocketsgetPeerAuthCIDssetPeerAuthCIDsgetMyParametersgetPeerParameterssetPeerParameters delayedAckresetDealyedAcksetMaxPacketSize addResource freeResources addReader killReaders addTimeouterreplaceKillTimeouterreadMinIdleTimeoutsetMinIdleTimeout sendFramescloseConnectionabortConnection createStream findStream addStream delStreaminitialRxMaxStreamDatasetupCryptoStreamsclearCryptoStreamgetCryptoStreamgetMyCID getMyCIDsgetMyCIDSeqNum getPeerCIDisMyCIDshouldUpdateMyCID myCIDsInclude resetPeerCID getNewMyCID addPeerCIDshouldUpdatePeerCIDchoosePeerCIDForPrivacy waitPeerCID retirePeerCIDsetPeerCIDAndRetireCIDssetMyCID retireMyCIDsetPeerStatelessResetTokenisStatelessRestTokenValid validatePathsetMigrationStartedisPathValidating checkResponsesetEncryptionLevel putOffCryptowaitEncryptionLevel getCipher setCipher getTLSModegetApplicationProtocol setNegotiated dropSecretsinitializeCoderinitializeCoder1RTTupdateCoder1RTTgetCoder getProtectorgetCurrentKeyPhasesetCurrentKeyPhaseencodeVersionNegotiationPacketencodeRetryPacketencodePlainPacket decryptCryptConnectionStatstxBytesrxBytesConnectionInfoversioncipheralpn handshakeModeretry localSockAddrremoteSockAddrlocalCID remoteCIDgetConnectionInfogetConnectionStatsstreamunidirectionalStream sendStreamsendStreamManyshutdownStream closeStream acceptStream recvStream resetStream stopStreamrunstopclientCertificateChainConnectionControlChangeServerCIDChangeClientCID NATRebindingActiveMigrationcontrolConnectionmigratesockAddrFamily anySockAddrudpServerListenSocketudpServerConnectedSocketudpClientSocketudpClientConnectedSocketudpNATRebindingSocketudpNATRebindingConnectedSocketFFragshrinknextOffcurrOff shrinkSeqinsertSkewNodeLeafempty deleteMin deleteMinIfData.ByteString.Internal ByteStringbase Control.MonadguardGHC.Basejoin GHC.FloatFloatinglog1mexplog1pexpexpm1log1patanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogpiexpMonadreturn>>=>>Functor<$fmapghc-prim GHC.ClassesOrd<<=>maxmin>=compareGHC.IxIxindexrange rangeSizeinRangeControl.Monad.Fail MonadFailfail ApplicativeliftA2<**><*>pure Data.FoldableFoldablefoldr'foldMap'foldelemminimummaximumfoldr1productsumfoldl1foldl'foldlfoldMaplengthnulltoListfoldrData.TraversablemapMsequence<>Monoidmconcatmemptymappend GHC.TypesIntGHC.IntInt8Int16Int32Int64 GHC.MaybeMaybeNothingJustOrderingGTLTEQWordGHC.WordWord8Word16Word32Word64PS<**> Data.Functor<$> array-0.5.4.0 Data.Array.IO hPutArray hGetArrayData.Array.IO.InternalsIOUArrayData.Array.Basethawfreeze mapIndicesmapArray getAssocsgetElems writeArray readArray newListArrayMArray newArray_ getBoundsnewArrayGHC.ArrArrayarray listArray!boundsindiceselemsassocs accumArray//accumixmap GHC.IOArrayIOArrayforM_mapM_ GHC.IORefatomicModifyIORef'mfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforMControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Data.IORefatomicWriteIORefatomicModifyIORef modifyIORef' modifyIORef mkWeakIORef writeIORef readIORefnewIORefIORefData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_for_ traverse_foldlMfoldrM Data.MonoidFirstgetFirstLastgetLastApgetApData.Semigroup.InternalDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAltData.Ord comparingDowngetDownNumericshowOctshowHex showIntAtBase showHFloat showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadIntGHC.Read lexDigitsfromRat floatToDigits showFloat bitReverse64 bitReverse32 bitReverse16 bitReverse8 byteSwap64 byteSwap32 byteSwap16 Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitspopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.&..|. FiniteBitscountTrailingZeros finiteBitSizecountLeadingZerosGHC.Real showSigned Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybevoidapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA Alternative<|>manysome MonadPlusmzeromplusData.ByteString.Short.InternalShortByteStringSBS/network-byte-order-0.1.6-3sHuH4W0kbnGhB4zuCldriNetwork.ByteOrderread64read32read24read16extractShortByteStringextractByteStringwithReadBuffer newReadBuffer currentOffsetwithWriteBuffer'withWriteBuffertoShortByteString toByteStringcopyShortByteStringcopyByteString shiftLastNwrite64write32write24write16write8clearWriteBuffernewWriteBufferbufferIOcopyunsafeWithByteStringword64word32word16word8 bytestring64 bytestring32 bytestring16 bytestring8peekByteStringpeek64peek32peek24peek16peek8poke64poke32poke24poke16poke8BufferOffset BufferSize WriteBuffer oldoffsetlimitoffsetstartReadablegoBack savingSizesavewithCurrentOffSet remainingSizeffread8readInt8 ReadBuffer BufferOverrun.<<..>>.atomicModifyIORef'' streamFlowTx streamFlowRx streamStateTx streamStateRx streamRecvQ streamReassputRecvStreamQtakeRecvStreamQtryTakeRecvStreamQ bytesInFlightcongestionWindowcongestionRecoveryStartTimessthresh bytesAcked latestRTT smoothedRTTrttvarminRTTmaxAckDelay1RTTptoCount ldccState ldccQlogger putRetrans recoveryRTT recoveryCCspaceDiscarded sentPackets lossDetectiontimerKey timerInfolostCandidatesptoPing speedingUppktNumPersistentpeerPacketNumberspreviousRTT1PPNs timerInfoQ TimerInfoQEmptyNext TimerInfo timerTime timerLevel timerTypeTimerCancelled TimerExpired TimerTypeLossTimePTO MetricsDiff LossDetectionlargestAckedPacketpreviousAckInfotimeOfLastAckElicitingPacketlossTimeCCnumOfAckElicitingccModeCCModeRecovery SlowStart AvoidanceRTT SentPackets LostPacketemptySentPackets initialRTT initialCCinitialLossDetectionmakeSentPacketsmakeLossDetectionqlogMetricsUpdatedqlogPacketLostqlogContestionStateUpdatedqlogLossTimerUpdatedqlogLossTimerCancelledqlogLossTimerExpired retransmitsendPingmergeLostCandidatesmergeLostCandidatesAndClearpeerCompletedAddressValidation countAckEliinCongestionRecoveryaddPeerPacketNumbersdelPeerPacketNumbersclearPeerPacketNumbersreducePeerPacketNumbersgetPktNumPersistentsetPktNumPersistent setSpeedingUpkPacketThresholdkTimeThreshold kGranularitykInitialWindowkMinimumWindowkLossReductionFactorkPersistentCongestionThresholdtimerGranularitygetMaxAckDelaycalcPTObackOffinPersistentCongestion updateRTTupdateCCmetricsUpdateddiscard onPacketsLostreleaseByPredicatedetectAndRemoveLostPacketsremovePacketNumbersgetLossTimeAndSpacegetPtoTimeAndSpacesetLossDetectionTimer dirQLoggerencodePacketNumberdecodePacketNumberencodeFramesWithPadding handleLogUnit handleLogTTrue readerServerAccept accVersion accMyAuthCIDsaccPeerAuthCIDs accMySockAddraccPeerSockAddraccRecvQ accPacketSize accRegister accUnregisteraccAddressValidatedaccTimeDispatchtokenMgr newDispatch clearDispatchaccept runDispatcher recvServermkHeadersenderreceiverBlocked StrmBlocked ConnBlocked BothBlockedaddTx sendBlockedsplit checkBlockedHndState hsRecvCntnewHndStateRef sendCompleted recvCompletedrxLevelChangedsendCryptoDatarecvCryptoDatarecvTLSsendTLS internalErrorhandshakeClienthandshakeClient'handshakeServerhandshakeServer' setPeerParamsstoreNegotiatedsendCCParamErrorsendCCTLSError getErrorCauseConnResconnResConnectiondefaultPacketSizemaximumPacketSizeclosure readerClient recvClientFalse