Skip to content

Commit 1aced95

Browse files
use an array instead of a byte slice for Connection IDs
1 parent 9e0f9e6 commit 1aced95

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+530
-487
lines changed

client_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ var _ = Describe("Client", func() {
5050

5151
BeforeEach(func() {
5252
tlsConf = &tls.Config{NextProtos: []string{"proto1"}}
53-
connID = protocol.ConnectionID{0, 0, 0, 0, 0, 0, 0x13, 0x37}
53+
connID = protocol.ParseConnectionID([]byte{0, 0, 0, 0, 0, 0, 0x13, 0x37})
5454
originalClientConnConstructor = newClientConnection
5555
tracer = mocklogging.NewMockConnectionTracer(mockCtrl)
5656
tr := mocklogging.NewMockTracer(mockCtrl)
@@ -518,7 +518,7 @@ var _ = Describe("Client", func() {
518518
manager.EXPECT().Add(connID, gomock.Any())
519519
mockMultiplexer.EXPECT().AddConn(packetConn, gomock.Any(), gomock.Any(), gomock.Any()).Return(manager, nil)
520520

521-
config := &Config{Versions: []protocol.VersionNumber{protocol.VersionTLS}, ConnectionIDGenerator: &mockedConnIDGenerator{ConnID: connID}}
521+
config := &Config{Versions: []protocol.VersionNumber{protocol.VersionTLS}, ConnectionIDGenerator: &mockConnIDGenerator{ConnID: connID}}
522522
c := make(chan struct{})
523523
var cconn sendConn
524524
var version protocol.VersionNumber
@@ -596,7 +596,7 @@ var _ = Describe("Client", func() {
596596
return conn
597597
}
598598

599-
config := &Config{Tracer: config.Tracer, Versions: []protocol.VersionNumber{protocol.VersionTLS}, ConnectionIDGenerator: &mockedConnIDGenerator{ConnID: connID}}
599+
config := &Config{Tracer: config.Tracer, Versions: []protocol.VersionNumber{protocol.VersionTLS}, ConnectionIDGenerator: &mockConnIDGenerator{ConnID: connID}}
600600
tracer.EXPECT().StartedConnection(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any())
601601
_, err := DialAddr("localhost:7890", tlsConf, config)
602602
Expect(err).ToNot(HaveOccurred())
@@ -605,14 +605,14 @@ var _ = Describe("Client", func() {
605605
})
606606
})
607607

608-
type mockedConnIDGenerator struct {
608+
type mockConnIDGenerator struct {
609609
ConnID protocol.ConnectionID
610610
}
611611

612-
func (m *mockedConnIDGenerator) GenerateConnectionID() ([]byte, error) {
612+
func (m *mockConnIDGenerator) GenerateConnectionID() (protocol.ConnectionID, error) {
613613
return m.ConnID, nil
614614
}
615615

616-
func (m *mockedConnIDGenerator) ConnectionIDLen() int {
616+
func (m *mockConnIDGenerator) ConnectionIDLen() int {
617617
return m.ConnID.Len()
618618
}

conn_id_generator.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ type connIDGenerator struct {
1414
highestSeq uint64
1515

1616
activeSrcConnIDs map[uint64]protocol.ConnectionID
17-
initialClientDestConnID protocol.ConnectionID
17+
initialClientDestConnID *protocol.ConnectionID // nil for the client
1818

1919
addConnectionID func(protocol.ConnectionID)
2020
getStatelessResetToken func(protocol.ConnectionID) protocol.StatelessResetToken
@@ -28,7 +28,7 @@ type connIDGenerator struct {
2828

2929
func newConnIDGenerator(
3030
initialConnectionID protocol.ConnectionID,
31-
initialClientDestConnID protocol.ConnectionID, // nil for the client
31+
initialClientDestConnID *protocol.ConnectionID, // nil for the client
3232
addConnectionID func(protocol.ConnectionID),
3333
getStatelessResetToken func(protocol.ConnectionID) protocol.StatelessResetToken,
3434
removeConnectionID func(protocol.ConnectionID),
@@ -117,14 +117,14 @@ func (m *connIDGenerator) issueNewConnID() error {
117117

118118
func (m *connIDGenerator) SetHandshakeComplete() {
119119
if m.initialClientDestConnID != nil {
120-
m.retireConnectionID(m.initialClientDestConnID)
120+
m.retireConnectionID(*m.initialClientDestConnID)
121121
m.initialClientDestConnID = nil
122122
}
123123
}
124124

125125
func (m *connIDGenerator) RemoveAll() {
126126
if m.initialClientDestConnID != nil {
127-
m.removeConnectionID(m.initialClientDestConnID)
127+
m.removeConnectionID(*m.initialClientDestConnID)
128128
}
129129
for _, connID := range m.activeSrcConnIDs {
130130
m.removeConnectionID(connID)
@@ -134,7 +134,7 @@ func (m *connIDGenerator) RemoveAll() {
134134
func (m *connIDGenerator) ReplaceWithClosed(pers protocol.Perspective, connClose []byte) {
135135
connIDs := make([]protocol.ConnectionID, 0, len(m.activeSrcConnIDs)+1)
136136
if m.initialClientDestConnID != nil {
137-
connIDs = append(connIDs, m.initialClientDestConnID)
137+
connIDs = append(connIDs, *m.initialClientDestConnID)
138138
}
139139
for _, connID := range m.activeSrcConnIDs {
140140
connIDs = append(connIDs, connID)

conn_id_generator_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ var _ = Describe("Connection ID Generator", func() {
2020
queuedFrames []wire.Frame
2121
g *connIDGenerator
2222
)
23-
initialConnID := protocol.ConnectionID{1, 2, 3, 4, 5, 6, 7}
24-
initialClientDestConnID := protocol.ConnectionID{0xa, 0xb, 0xc, 0xd, 0xe}
23+
initialConnID := protocol.ParseConnectionID([]byte{1, 2, 3, 4, 5, 6, 7})
24+
initialClientDestConnID := protocol.ParseConnectionID([]byte{0xa, 0xb, 0xc, 0xd, 0xe})
2525

2626
connIDToToken := func(c protocol.ConnectionID) protocol.StatelessResetToken {
27-
return protocol.StatelessResetToken{c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0], c[0]}
27+
b := c.Bytes()[0]
28+
return protocol.StatelessResetToken{b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}
2829
}
2930

3031
BeforeEach(func() {
@@ -35,7 +36,7 @@ var _ = Describe("Connection ID Generator", func() {
3536
replacedWithClosed = nil
3637
g = newConnIDGenerator(
3738
initialConnID,
38-
initialClientDestConnID,
39+
&initialClientDestConnID,
3940
func(c protocol.ConnectionID) { addedConnIDs = append(addedConnIDs, c) },
4041
connIDToToken,
4142
func(c protocol.ConnectionID) { removedConnIDs = append(removedConnIDs, c) },

0 commit comments

Comments
 (0)