1package logging 2 3import ( 4 "github.com/lucas-clemente/quic-go/internal/protocol" 5) 6 7// PacketTypeFromHeader determines the packet type from a *wire.Header. 8func 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} 28