github.com/ooni/psiphon/tunnel-core@v0.0.0-20230105123940-fe12a24c96ee/oovendor/quic-go/logging/packet_header.go (about)

     1  package logging
     2  
     3  import (
     4  	"github.com/ooni/psiphon/tunnel-core/oovendor/quic-go/internal/protocol"
     5  )
     6  
     7  // PacketTypeFromHeader determines the packet type from a *wire.Header.
     8  func PacketTypeFromHeader(hdr *Header) PacketType {
     9  	if !hdr.IsLongHeader {
    10  		return PacketType1RTT
    11  	}
    12  	if hdr.Version == 0 {
    13  		return PacketTypeVersionNegotiation
    14  	}
    15  	switch hdr.Type {
    16  	case protocol.PacketTypeInitial:
    17  		return PacketTypeInitial
    18  	case protocol.PacketTypeHandshake:
    19  		return PacketTypeHandshake
    20  	case protocol.PacketType0RTT:
    21  		return PacketType0RTT
    22  	case protocol.PacketTypeRetry:
    23  		return PacketTypeRetry
    24  	default:
    25  		return PacketTypeNotDetermined
    26  	}
    27  }