Source File
types.go
Belonging Package
github.com/quic-go/quic-go/logging
package logging// PacketType is the packet type of a QUIC packettype PacketType uint8const (// PacketTypeInitial is the packet type of an Initial packetPacketTypeInitial PacketType = iota// PacketTypeHandshake is the packet type of a Handshake packetPacketTypeHandshake// PacketTypeRetry is the packet type of a Retry packetPacketTypeRetry// PacketType0RTT is the packet type of a 0-RTT packetPacketType0RTT// PacketTypeVersionNegotiation is the packet type of a Version Negotiation packetPacketTypeVersionNegotiation// PacketType1RTT is a 1-RTT packetPacketType1RTT// PacketTypeStatelessReset is a stateless resetPacketTypeStatelessReset// PacketTypeNotDetermined is the packet type when it could not be determinedPacketTypeNotDetermined)type PacketLossReason uint8const (// PacketLossReorderingThreshold: when a packet is deemed lost due to reordering thresholdPacketLossReorderingThreshold PacketLossReason = iota// PacketLossTimeThreshold: when a packet is deemed lost due to time thresholdPacketLossTimeThreshold)type PacketDropReason uint8const (// PacketDropKeyUnavailable is used when a packet is dropped because keys are unavailablePacketDropKeyUnavailable PacketDropReason = iota// PacketDropUnknownConnectionID is used when a packet is dropped because the connection ID is unknownPacketDropUnknownConnectionID// PacketDropHeaderParseError is used when a packet is dropped because header parsing failedPacketDropHeaderParseError// PacketDropPayloadDecryptError is used when a packet is dropped because decrypting the payload failedPacketDropPayloadDecryptError// PacketDropProtocolViolation is used when a packet is dropped due to a protocol violationPacketDropProtocolViolation// PacketDropDOSPrevention is used when a packet is dropped to mitigate a DoS attackPacketDropDOSPrevention// PacketDropUnsupportedVersion is used when a packet is dropped because the version is not supportedPacketDropUnsupportedVersion// PacketDropUnexpectedPacket is used when an unexpected packet is receivedPacketDropUnexpectedPacket// PacketDropUnexpectedSourceConnectionID is used when a packet with an unexpected source connection ID is receivedPacketDropUnexpectedSourceConnectionID// PacketDropUnexpectedVersion is used when a packet with an unexpected version is receivedPacketDropUnexpectedVersion// PacketDropDuplicate is used when a duplicate packet is receivedPacketDropDuplicate)// TimerType is the type of the loss detection timertype TimerType uint8const (// TimerTypeACK is the timer type for the early retransmit timerTimerTypeACK TimerType = iota + 1// TimerTypePTO is the timer type for the PTO retransmit timerTimerTypePTO// TimerTypePathProbe is the timer type for the path probe retransmit timerTimerTypePathProbe)// TimeoutReason is the reason why a connection is closedtype TimeoutReason uint8const (// TimeoutReasonHandshake is used when the connection is closed due to a handshake timeout// This reason is not defined in the qlog draft, but very useful for debugging.TimeoutReasonHandshake TimeoutReason = iota// TimeoutReasonIdle is used when the connection is closed due to an idle timeout// This reason is not defined in the qlog draft, but very useful for debugging.TimeoutReasonIdle)type CongestionState uint8const (// CongestionStateSlowStart is the slow start phase of Reno / CubicCongestionStateSlowStart CongestionState = iota// CongestionStateCongestionAvoidance is the slow start phase of Reno / CubicCongestionStateCongestionAvoidance// CongestionStateRecovery is the recovery phase of Reno / CubicCongestionStateRecovery// CongestionStateApplicationLimited means that the congestion controller is application limitedCongestionStateApplicationLimited)// ECNState is the state of the ECN state machine (see Appendix A.4 of RFC 9000)type ECNState uint8const (// ECNStateTesting is the testing stateECNStateTesting ECNState = 1 + iota// ECNStateUnknown is the unknown stateECNStateUnknown// ECNStateFailed is the failed stateECNStateFailed// ECNStateCapable is the capable stateECNStateCapable)// ECNStateTrigger is a trigger for an ECN state transition.type ECNStateTrigger uint8const (ECNTriggerNoTrigger ECNStateTrigger = iota// ECNFailedNoECNCounts is emitted when an ACK acknowledges ECN-marked packets,// but doesn't contain any ECN countsECNFailedNoECNCounts// ECNFailedDecreasedECNCounts is emitted when an ACK frame decreases ECN countsECNFailedDecreasedECNCounts// ECNFailedLostAllTestingPackets is emitted when all ECN testing packets are declared lostECNFailedLostAllTestingPackets// ECNFailedMoreECNCountsThanSent is emitted when an ACK contains more ECN counts than ECN-marked packets were sentECNFailedMoreECNCountsThanSent// ECNFailedTooFewECNCounts is emitted when an ACK contains fewer ECN counts than it acknowledges packetsECNFailedTooFewECNCounts// ECNFailedManglingDetected is emitted when the path marks all ECN-marked packets as CEECNFailedManglingDetected)
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |