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