diff --git a/packet_number_generator.go b/packet_number_generator.go index ac6357765..b906dfea1 100644 --- a/packet_number_generator.go +++ b/packet_number_generator.go @@ -42,28 +42,19 @@ func (p *packetNumberGenerator) Pop() protocol.PacketNumber { return next } -func (p *packetNumberGenerator) generateNewSkip() error { - num, err := p.getRandomNumber() - if err != nil { - return err - } - +func (p *packetNumberGenerator) generateNewSkip() { + num := p.getRandomNumber() skip := protocol.PacketNumber(num) * (p.averagePeriod - 1) / (math.MaxUint16 / 2) // make sure that there are never two consecutive packet numbers that are skipped p.nextToSkip = p.next + 2 + skip - - return nil } // getRandomNumber() generates a cryptographically secure random number between 0 and MaxUint16 (= 65535) // The expectation value is 65535/2 -func (p *packetNumberGenerator) getRandomNumber() (uint16, error) { +func (p *packetNumberGenerator) getRandomNumber() uint16 { b := make([]byte, 2) - _, err := rand.Read(b) - if err != nil { - return 0, err - } + rand.Read(b) // ignore the error here num := uint16(b[0])<<8 + uint16(b[1]) - return num, nil + return num } diff --git a/packet_number_generator_test.go b/packet_number_generator_test.go index ece74a961..687f63fe3 100644 --- a/packet_number_generator_test.go +++ b/packet_number_generator_test.go @@ -69,8 +69,7 @@ var _ = Describe("Packet Number Generator", func() { rep := 10000 for i := 0; i < rep; i++ { - num, err := png.getRandomNumber() - Expect(err).ToNot(HaveOccurred()) + num := png.getRandomNumber() sum += uint64(num) if num > largest { largest = num