mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-04 04:37:36 +03:00
use an array instead of a byte slice for Connection IDs
This commit is contained in:
parent
9e0f9e62ff
commit
1aced95d41
47 changed files with 530 additions and 487 deletions
|
@ -16,7 +16,7 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
tokenAdded *protocol.StatelessResetToken
|
||||
removedTokens []protocol.StatelessResetToken
|
||||
)
|
||||
initialConnID := protocol.ConnectionID{0, 0, 0, 0}
|
||||
initialConnID := protocol.ParseConnectionID([]byte{0, 0, 0, 0})
|
||||
|
||||
BeforeEach(func() {
|
||||
frameQueue = nil
|
||||
|
@ -34,7 +34,7 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
|
||||
get := func() (protocol.ConnectionID, protocol.StatelessResetToken) {
|
||||
if m.queue.Len() == 0 {
|
||||
return nil, protocol.StatelessResetToken{}
|
||||
return protocol.ConnectionID{}, protocol.StatelessResetToken{}
|
||||
}
|
||||
val := m.queue.Remove(m.queue.Front())
|
||||
return val.ConnectionID, val.StatelessResetToken
|
||||
|
@ -45,8 +45,8 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
})
|
||||
|
||||
It("changes the initial connection ID", func() {
|
||||
m.ChangeInitialConnID(protocol.ConnectionID{1, 2, 3, 4, 5})
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 2, 3, 4, 5}))
|
||||
m.ChangeInitialConnID(protocol.ParseConnectionID([]byte{1, 2, 3, 4, 5}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4, 5})))
|
||||
})
|
||||
|
||||
It("sets the token for the first connection ID", func() {
|
||||
|
@ -59,81 +59,81 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
It("adds and gets connection IDs", func() {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 10,
|
||||
ConnectionID: protocol.ConnectionID{2, 3, 4, 5},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{2, 3, 4, 5}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0xe, 0xd, 0xc, 0xb, 0xa, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0},
|
||||
})).To(Succeed())
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 4,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe},
|
||||
})).To(Succeed())
|
||||
c1, rt1 := get()
|
||||
Expect(c1).To(Equal(protocol.ConnectionID{1, 2, 3, 4}))
|
||||
Expect(c1).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4})))
|
||||
Expect(rt1).To(Equal(protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe}))
|
||||
c2, rt2 := get()
|
||||
Expect(c2).To(Equal(protocol.ConnectionID{2, 3, 4, 5}))
|
||||
Expect(c2).To(Equal(protocol.ParseConnectionID([]byte{2, 3, 4, 5})))
|
||||
Expect(rt2).To(Equal(protocol.StatelessResetToken{0xe, 0xd, 0xc, 0xb, 0xa, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}))
|
||||
c3, _ := get()
|
||||
Expect(c3).To(BeNil())
|
||||
Expect(c3).To(BeZero())
|
||||
})
|
||||
|
||||
It("accepts duplicates", func() {
|
||||
f1 := &wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe},
|
||||
}
|
||||
f2 := &wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe},
|
||||
}
|
||||
Expect(m.Add(f1)).To(Succeed())
|
||||
Expect(m.Add(f2)).To(Succeed())
|
||||
c1, rt1 := get()
|
||||
Expect(c1).To(Equal(protocol.ConnectionID{1, 2, 3, 4}))
|
||||
Expect(c1).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4})))
|
||||
Expect(rt1).To(Equal(protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe}))
|
||||
c2, _ := get()
|
||||
Expect(c2).To(BeNil())
|
||||
Expect(c2).To(BeZero())
|
||||
})
|
||||
|
||||
It("ignores duplicates for the currently used connection ID", func() {
|
||||
f := &wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe},
|
||||
}
|
||||
m.SetHandshakeComplete()
|
||||
Expect(m.Add(f)).To(Succeed())
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 2, 3, 4}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4})))
|
||||
c, _ := get()
|
||||
Expect(c).To(BeNil())
|
||||
Expect(c).To(BeZero())
|
||||
// Now send the same connection ID again. It should not be queued.
|
||||
Expect(m.Add(f)).To(Succeed())
|
||||
c, _ = get()
|
||||
Expect(c).To(BeNil())
|
||||
Expect(c).To(BeZero())
|
||||
})
|
||||
|
||||
It("rejects duplicates with different connection IDs", func() {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 42,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
})).To(Succeed())
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 42,
|
||||
ConnectionID: protocol.ConnectionID{2, 3, 4, 5},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{2, 3, 4, 5}),
|
||||
})).To(MatchError("received conflicting connection IDs for sequence number 42"))
|
||||
})
|
||||
|
||||
It("rejects duplicates with different connection IDs", func() {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 42,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe},
|
||||
})).To(Succeed())
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 42,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{0xe, 0xd, 0xc, 0xb, 0xa, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0},
|
||||
})).To(MatchError("received conflicting stateless reset tokens for sequence number 42"))
|
||||
})
|
||||
|
@ -141,29 +141,29 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
It("retires connection IDs", func() {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 10,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
})).To(Succeed())
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 13,
|
||||
ConnectionID: protocol.ConnectionID{2, 3, 4, 5},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{2, 3, 4, 5}),
|
||||
})).To(Succeed())
|
||||
Expect(frameQueue).To(BeEmpty())
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
RetirePriorTo: 14,
|
||||
SequenceNumber: 17,
|
||||
ConnectionID: protocol.ConnectionID{3, 4, 5, 6},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{3, 4, 5, 6}),
|
||||
})).To(Succeed())
|
||||
Expect(frameQueue).To(HaveLen(3))
|
||||
Expect(frameQueue[0].(*wire.RetireConnectionIDFrame).SequenceNumber).To(BeEquivalentTo(10))
|
||||
Expect(frameQueue[1].(*wire.RetireConnectionIDFrame).SequenceNumber).To(BeEquivalentTo(13))
|
||||
Expect(frameQueue[2].(*wire.RetireConnectionIDFrame).SequenceNumber).To(BeZero())
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{3, 4, 5, 6}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{3, 4, 5, 6})))
|
||||
})
|
||||
|
||||
It("ignores reordered connection IDs, if their sequence number was already retired", func() {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 10,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
RetirePriorTo: 5,
|
||||
})).To(Succeed())
|
||||
Expect(frameQueue).To(HaveLen(1))
|
||||
|
@ -173,7 +173,7 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
// Make sure it gets retired immediately now.
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 4,
|
||||
ConnectionID: protocol.ConnectionID{4, 3, 2, 1},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{4, 3, 2, 1}),
|
||||
})).To(Succeed())
|
||||
Expect(frameQueue).To(HaveLen(1))
|
||||
Expect(frameQueue[0].(*wire.RetireConnectionIDFrame).SequenceNumber).To(BeEquivalentTo(4))
|
||||
|
@ -182,17 +182,17 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
It("ignores reordered connection IDs, if their sequence number was already retired or less than active", func() {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 10,
|
||||
ConnectionID: protocol.ConnectionID{0xde, 0xad, 0xbe, 0xef},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{0xde, 0xad, 0xbe, 0xef}),
|
||||
RetirePriorTo: 5,
|
||||
})).To(Succeed())
|
||||
Expect(frameQueue).To(HaveLen(1))
|
||||
Expect(frameQueue[0].(*wire.RetireConnectionIDFrame).SequenceNumber).To(BeZero())
|
||||
frameQueue = nil
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{0xde, 0xad, 0xbe, 0xef}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{0xde, 0xad, 0xbe, 0xef})))
|
||||
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 9,
|
||||
ConnectionID: protocol.ConnectionID{0xde, 0xca, 0xfb, 0xad},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{0xde, 0xca, 0xfb, 0xad}),
|
||||
RetirePriorTo: 5,
|
||||
})).To(Succeed())
|
||||
Expect(frameQueue).To(HaveLen(1))
|
||||
|
@ -200,7 +200,7 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
})
|
||||
|
||||
It("accepts retransmissions for the connection ID that is in use", func() {
|
||||
connID := protocol.ConnectionID{1, 2, 3, 4}
|
||||
connID := protocol.ParseConnectionID([]byte{1, 2, 3, 4})
|
||||
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
|
@ -225,13 +225,13 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
for i := uint8(1); i < protocol.MaxActiveConnectionIDs; i++ {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(i),
|
||||
ConnectionID: protocol.ConnectionID{i, i, i, i},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{i, i, i, i}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{i, i, i, i, i, i, i, i, i, i, i, i, i, i, i, i},
|
||||
})).To(Succeed())
|
||||
}
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(9999),
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16},
|
||||
})).To(MatchError(&qerr.TransportError{ErrorCode: qerr.ConnectionIDLimitError}))
|
||||
})
|
||||
|
@ -241,22 +241,22 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
m.SetHandshakeComplete()
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
|
||||
})).To(Succeed())
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 2, 3, 4}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4})))
|
||||
})
|
||||
|
||||
It("waits until handshake completion before initiating a connection ID update", func() {
|
||||
Expect(m.Get()).To(Equal(initialConnID))
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
|
||||
})).To(Succeed())
|
||||
Expect(m.Get()).To(Equal(initialConnID))
|
||||
m.SetHandshakeComplete()
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 2, 3, 4}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4})))
|
||||
})
|
||||
|
||||
It("initiates subsequent updates when enough packets are sent", func() {
|
||||
|
@ -264,14 +264,14 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
for s = uint8(1); s < protocol.MaxActiveConnectionIDs; s++ {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(s),
|
||||
ConnectionID: protocol.ConnectionID{s, s, s, s},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{s, s, s, s}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s},
|
||||
})).To(Succeed())
|
||||
}
|
||||
|
||||
m.SetHandshakeComplete()
|
||||
lastConnID := m.Get()
|
||||
Expect(lastConnID).To(Equal(protocol.ConnectionID{1, 1, 1, 1}))
|
||||
Expect(lastConnID).To(Equal(protocol.ParseConnectionID([]byte{1, 1, 1, 1})))
|
||||
|
||||
var counter int
|
||||
for i := 0; i < 50*protocol.PacketsPerConnectionID; i++ {
|
||||
|
@ -285,7 +285,7 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
removedTokens = nil
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(s),
|
||||
ConnectionID: protocol.ConnectionID{s, s, s, s},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{s, s, s, s}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s},
|
||||
})).To(Succeed())
|
||||
s++
|
||||
|
@ -298,28 +298,28 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
for s := uint8(10); s <= 10+protocol.MaxActiveConnectionIDs/2; s++ {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(s),
|
||||
ConnectionID: protocol.ConnectionID{s, s, s, s},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{s, s, s, s}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s},
|
||||
})).To(Succeed())
|
||||
}
|
||||
m.SetHandshakeComplete()
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{10, 10, 10, 10}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{10, 10, 10, 10})))
|
||||
for {
|
||||
m.SentPacket()
|
||||
if m.Get().Equal(protocol.ConnectionID{11, 11, 11, 11}) {
|
||||
if m.Get().Equal(protocol.ParseConnectionID([]byte{11, 11, 11, 11})) {
|
||||
break
|
||||
}
|
||||
}
|
||||
// The active conn ID is now {11, 11, 11, 11}
|
||||
Expect(m.queue.Front().Value.ConnectionID).To(Equal(protocol.ConnectionID{12, 12, 12, 12}))
|
||||
Expect(m.queue.Front().Value.ConnectionID).To(Equal(protocol.ParseConnectionID([]byte{12, 12, 12, 12})))
|
||||
// Add a delayed connection ID. It should just be ignored now.
|
||||
frameQueue = nil
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(5),
|
||||
ConnectionID: protocol.ConnectionID{5, 5, 5, 5},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{5, 5, 5, 5}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
|
||||
})).To(Succeed())
|
||||
Expect(m.queue.Front().Value.ConnectionID).To(Equal(protocol.ConnectionID{12, 12, 12, 12}))
|
||||
Expect(m.queue.Front().Value.ConnectionID).To(Equal(protocol.ParseConnectionID([]byte{12, 12, 12, 12})))
|
||||
Expect(frameQueue).To(HaveLen(1))
|
||||
Expect(frameQueue[0].(*wire.RetireConnectionIDFrame).SequenceNumber).To(BeEquivalentTo(5))
|
||||
})
|
||||
|
@ -328,21 +328,21 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
for i := uint8(1); i <= protocol.MaxActiveConnectionIDs/2; i++ {
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: uint64(i),
|
||||
ConnectionID: protocol.ConnectionID{i, i, i, i},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{i, i, i, i}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{i, i, i, i, i, i, i, i, i, i, i, i, i, i, i, i},
|
||||
})).To(Succeed())
|
||||
}
|
||||
m.SetHandshakeComplete()
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 1, 1, 1}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 1, 1, 1})))
|
||||
for i := 0; i < 2*protocol.PacketsPerConnectionID; i++ {
|
||||
m.SentPacket()
|
||||
}
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 1, 1, 1}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 1, 1, 1})))
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1337,
|
||||
ConnectionID: protocol.ConnectionID{1, 3, 3, 7},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 3, 3, 7}),
|
||||
})).To(Succeed())
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{2, 2, 2, 2}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{2, 2, 2, 2})))
|
||||
Expect(removedTokens).To(HaveLen(1))
|
||||
Expect(removedTokens[0]).To(Equal(protocol.StatelessResetToken{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}))
|
||||
})
|
||||
|
@ -352,11 +352,11 @@ var _ = Describe("Connection ID Manager", func() {
|
|||
Expect(removedTokens).To(BeEmpty())
|
||||
Expect(m.Add(&wire.NewConnectionIDFrame{
|
||||
SequenceNumber: 1,
|
||||
ConnectionID: protocol.ConnectionID{1, 2, 3, 4},
|
||||
ConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3, 4}),
|
||||
StatelessResetToken: protocol.StatelessResetToken{16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
|
||||
})).To(Succeed())
|
||||
m.SetHandshakeComplete()
|
||||
Expect(m.Get()).To(Equal(protocol.ConnectionID{1, 2, 3, 4}))
|
||||
Expect(m.Get()).To(Equal(protocol.ParseConnectionID([]byte{1, 2, 3, 4})))
|
||||
m.Close()
|
||||
Expect(removedTokens).To(HaveLen(1))
|
||||
Expect(removedTokens[0]).To(Equal(protocol.StatelessResetToken{16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1}))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue