From 4a9bd794bfd22aacb6546854001556374698399e Mon Sep 17 00:00:00 2001 From: Randy Reddig Date: Tue, 10 Aug 2021 02:11:49 -0700 Subject: [PATCH] quicvarint: export Min and Max (#3253) --- quicvarint/varint.go | 6 ++++++ quicvarint/varint_test.go | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/quicvarint/varint.go b/quicvarint/varint.go index 723c57c4b..66e0d39e6 100644 --- a/quicvarint/varint.go +++ b/quicvarint/varint.go @@ -9,6 +9,12 @@ import ( // taken from the QUIC draft const ( + // Min is the minimum value allowed for a QUIC varint. + Min = 0 + + // Max is the maximum allowed value for a QUIC varint (2^62-1). + Max = maxVarInt8 + maxVarInt1 = 63 maxVarInt2 = 16383 maxVarInt4 = 1073741823 diff --git a/quicvarint/varint_test.go b/quicvarint/varint_test.go index 9dc1ac06c..acf4a31c2 100644 --- a/quicvarint/varint_test.go +++ b/quicvarint/varint_test.go @@ -8,6 +8,16 @@ import ( ) var _ = Describe("Varint encoding / decoding", func() { + Context("limits", func() { + Specify("Min == 0", func() { + Expect(Min).To(Equal(0)) + }) + + Specify("Max == 2^62-1", func() { + Expect(uint64(Max)).To(Equal(uint64(1<<62 - 1))) + }) + }) + Context("decoding", func() { It("reads a 1 byte number", func() { b := bytes.NewReader([]byte{0b00011001})