Source File
packet_header.go
Belonging Package
github.com/quic-go/quic-go/qlog
package qlogimport ()type Token struct {Raw []byte}func ( Token) ( *jsontext.Encoder) error {:= encoderHelper{enc: }.WriteToken(jsontext.BeginObject).WriteToken(jsontext.String("data")).WriteToken(jsontext.String(hex.EncodeToString(.Raw))).WriteToken(jsontext.EndObject)return .err}// PacketHeader is a QUIC packet header.type PacketHeader struct {PacketType PacketTypeKeyPhaseBit KeyPhaseBitPacketNumber PacketNumberVersion VersionSrcConnectionID ConnectionIDDestConnectionID ConnectionIDToken *Token}func ( PacketHeader) ( *jsontext.Encoder) error {:= encoderHelper{enc: }.WriteToken(jsontext.BeginObject).WriteToken(jsontext.String("packet_type")).WriteToken(jsontext.String(string(.PacketType)))if .PacketType != PacketTypeRetry && .PacketType != PacketTypeVersionNegotiation && .PacketType != "" &&.PacketNumber != protocol.InvalidPacketNumber {.WriteToken(jsontext.String("packet_number")).WriteToken(jsontext.Int(int64(.PacketNumber)))}if .Version != 0 {.WriteToken(jsontext.String("version")).WriteToken(jsontext.String(version(.Version).String()))}if .PacketType != PacketType1RTT {.WriteToken(jsontext.String("scil")).WriteToken(jsontext.Int(int64(.SrcConnectionID.Len())))if .SrcConnectionID.Len() > 0 {.WriteToken(jsontext.String("scid")).WriteToken(jsontext.String(.SrcConnectionID.String()))}}.WriteToken(jsontext.String("dcil")).WriteToken(jsontext.Int(int64(.DestConnectionID.Len())))if .DestConnectionID.Len() > 0 {.WriteToken(jsontext.String("dcid")).WriteToken(jsontext.String(.DestConnectionID.String()))}if .KeyPhaseBit == KeyPhaseZero || .KeyPhaseBit == KeyPhaseOne {.WriteToken(jsontext.String("key_phase_bit")).WriteToken(jsontext.String(.KeyPhaseBit.String()))}if .Token != nil {.WriteToken(jsontext.String("token"))if := .Token.encode(); != nil {return}}.WriteToken(jsontext.EndObject)return .err}type PacketHeaderVersionNegotiation struct {SrcConnectionID ArbitraryLenConnectionIDDestConnectionID ArbitraryLenConnectionID}func ( PacketHeaderVersionNegotiation) ( *jsontext.Encoder) error {:= encoderHelper{enc: }.WriteToken(jsontext.BeginObject).WriteToken(jsontext.String("packet_type")).WriteToken(jsontext.String("version_negotiation")).WriteToken(jsontext.String("scil")).WriteToken(jsontext.Int(int64(.SrcConnectionID.Len()))).WriteToken(jsontext.String("scid")).WriteToken(jsontext.String(.SrcConnectionID.String())).WriteToken(jsontext.String("dcil")).WriteToken(jsontext.Int(int64(.DestConnectionID.Len()))).WriteToken(jsontext.String("dcid")).WriteToken(jsontext.String(.DestConnectionID.String())).WriteToken(jsontext.EndObject)return .err}
![]() |
The pages are generated with Golds v0.8.4. (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. |