forked from quic-go/quic-go
add a type for the key phase and use it for header parsing and writing
This commit is contained in:
@@ -34,6 +34,27 @@ func (t PacketType) String() string {
|
||||
}
|
||||
}
|
||||
|
||||
// KeyPhase is the key phase
|
||||
type KeyPhase bool
|
||||
|
||||
const (
|
||||
// KeyPhaseZero is key phase 0
|
||||
KeyPhaseZero KeyPhase = false
|
||||
// KeyPhaseOne is key phase 1
|
||||
KeyPhaseOne KeyPhase = true
|
||||
)
|
||||
|
||||
func (p KeyPhase) String() string {
|
||||
if p == KeyPhaseZero {
|
||||
return "0"
|
||||
}
|
||||
return "1"
|
||||
}
|
||||
|
||||
func (p KeyPhase) Next() KeyPhase {
|
||||
return !p
|
||||
}
|
||||
|
||||
// A ByteCount in QUIC
|
||||
type ByteCount uint64
|
||||
|
||||
|
||||
@@ -15,4 +15,16 @@ var _ = Describe("Protocol", func() {
|
||||
Expect(PacketType(10).String()).To(Equal("unknown packet type: 10"))
|
||||
})
|
||||
})
|
||||
|
||||
Context("Key Phases", func() {
|
||||
It("has the correct string representation", func() {
|
||||
Expect(KeyPhaseZero.String()).To(Equal("0"))
|
||||
Expect(KeyPhaseOne.String()).To(Equal("1"))
|
||||
})
|
||||
|
||||
It("returns the next key phase", func() {
|
||||
Expect(KeyPhaseZero.Next()).To(Equal(KeyPhaseOne))
|
||||
Expect(KeyPhaseOne.Next()).To(Equal(KeyPhaseZero))
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user