move connection ID generation from the utils to the protocol package

This commit is contained in:
Marten Seemann
2018-03-16 07:36:27 +01:00
parent da7708e470
commit af8971d8c9
4 changed files with 9 additions and 11 deletions

View File

@@ -44,7 +44,7 @@ type client struct {
var (
// make it possible to mock connection ID generation in the tests
generateConnectionID = utils.GenerateConnectionID
generateConnectionID = protocol.GenerateConnectionID
errCloseSessionForNewVersion = errors.New("closing session in order to recreate it with a new version")
)
@@ -384,7 +384,7 @@ func (c *client) handleVersionNegotiationPacket(hdr *wire.Header) error {
c.initialVersion = c.version
c.version = newVersion
var err error
c.connectionID, err = utils.GenerateConnectionID()
c.connectionID, err = protocol.GenerateConnectionID()
if err != nil {
return err
}

View File

@@ -1,18 +1,19 @@
package utils
package protocol
import (
"crypto/rand"
"encoding/binary"
"github.com/lucas-clemente/quic-go/internal/protocol"
)
// A ConnectionID in QUIC
type ConnectionID uint64
// GenerateConnectionID generates a connection ID using cryptographic random
func GenerateConnectionID() (protocol.ConnectionID, error) {
func GenerateConnectionID() (ConnectionID, error) {
b := make([]byte, 8)
_, err := rand.Read(b)
if err != nil {
return 0, err
}
return protocol.ConnectionID(binary.LittleEndian.Uint64(b)), nil
return ConnectionID(binary.LittleEndian.Uint64(b)), nil
}

View File

@@ -1,4 +1,4 @@
package utils
package protocol
import (
. "github.com/onsi/ginkgo"

View File

@@ -52,9 +52,6 @@ func (t PacketType) String() string {
}
}
// A ConnectionID in QUIC
type ConnectionID uint64
// A ByteCount in QUIC
type ByteCount uint64