determine the packet type from the QUIC header

This commit is contained in:
Marten Seemann
2020-01-21 12:24:15 +07:00
parent e6d55ac467
commit bfd745106c
4 changed files with 184 additions and 67 deletions

View File

@@ -7,6 +7,27 @@ import (
"github.com/lucas-clemente/quic-go/internal/wire"
)
func getPacketType(hdr *wire.ExtendedHeader) packetType {
if !hdr.IsLongHeader {
return packetType1RTT
}
if hdr.Version == 0 {
return packetTypeVersionNegotiation
}
switch hdr.Type {
case protocol.PacketTypeInitial:
return packetTypeInitial
case protocol.PacketTypeHandshake:
return packetTypeHandshake
case protocol.PacketType0RTT:
return packetType0RTT
case protocol.PacketTypeRetry:
return packetTypeRetry
default:
panic("unknown packet type")
}
}
func transformHeader(hdr *wire.ExtendedHeader) *packetHeader {
return &packetHeader{
PacketNumber: hdr.PacketNumber,