forked from quic-go/quic-go
introduce a ConnectionTracingID type for the ConnectionTracingKey (#4400)
This is a breaking API change. Unfortunately, context values are not strongly typed, so users will have have to take to change their type assertions.
This commit is contained in:
@@ -35,7 +35,7 @@ type client struct {
|
||||
conn quicConn
|
||||
|
||||
tracer *logging.ConnectionTracer
|
||||
tracingID uint64
|
||||
tracingID ConnectionTracingID
|
||||
logger utils.Logger
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ var _ = Describe("Client", func() {
|
||||
enable0RTT bool,
|
||||
hasNegotiatedVersion bool,
|
||||
tracer *logging.ConnectionTracer,
|
||||
tracingID uint64,
|
||||
tracingID ConnectionTracingID,
|
||||
logger utils.Logger,
|
||||
v protocol.Version,
|
||||
) quicConn
|
||||
@@ -123,7 +123,7 @@ var _ = Describe("Client", func() {
|
||||
enable0RTT bool,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -160,7 +160,7 @@ var _ = Describe("Client", func() {
|
||||
enable0RTT bool,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -197,7 +197,7 @@ var _ = Describe("Client", func() {
|
||||
_ bool,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -282,7 +282,7 @@ var _ = Describe("Client", func() {
|
||||
_ bool,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
versionP protocol.Version,
|
||||
) quicConn {
|
||||
@@ -325,7 +325,7 @@ var _ = Describe("Client", func() {
|
||||
_ bool,
|
||||
hasNegotiatedVersion bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
versionP protocol.Version,
|
||||
) quicConn {
|
||||
|
||||
@@ -113,8 +113,8 @@ func (e *errCloseForRecreating) Error() string {
|
||||
return "closing connection in order to recreate it"
|
||||
}
|
||||
|
||||
var connTracingID uint64 // to be accessed atomically
|
||||
func nextConnTracingID() uint64 { return atomic.AddUint64(&connTracingID, 1) }
|
||||
var connTracingID atomic.Uint64 // to be accessed atomically
|
||||
func nextConnTracingID() ConnectionTracingID { return ConnectionTracingID(connTracingID.Add(1)) }
|
||||
|
||||
// A Connection is a QUIC connection
|
||||
type connection struct {
|
||||
@@ -234,7 +234,7 @@ var newConnection = func(
|
||||
tokenGenerator *handshake.TokenGenerator,
|
||||
clientAddressValidated bool,
|
||||
tracer *logging.ConnectionTracer,
|
||||
tracingID uint64,
|
||||
tracingID ConnectionTracingID,
|
||||
logger utils.Logger,
|
||||
v protocol.Version,
|
||||
) quicConn {
|
||||
@@ -347,7 +347,7 @@ var newClientConnection = func(
|
||||
enable0RTT bool,
|
||||
hasNegotiatedVersion bool,
|
||||
tracer *logging.ConnectionTracer,
|
||||
tracingID uint64,
|
||||
tracingID ConnectionTracingID,
|
||||
logger utils.Logger,
|
||||
v protocol.Version,
|
||||
) quicConn {
|
||||
|
||||
@@ -59,6 +59,9 @@ var Err0RTTRejected = errors.New("0-RTT rejected")
|
||||
// as well as on the context passed to logging.Tracer.NewConnectionTracer.
|
||||
var ConnectionTracingKey = connTracingCtxKey{}
|
||||
|
||||
// ConnectionTracingID is the type of the context value saved under the ConnectionTracingKey.
|
||||
type ConnectionTracingID uint64
|
||||
|
||||
type connTracingCtxKey struct{}
|
||||
|
||||
// QUICVersionContextKey can be used to find out the QUIC version of a TLS handshake from the
|
||||
|
||||
@@ -92,7 +92,7 @@ type baseServer struct {
|
||||
*handshake.TokenGenerator,
|
||||
bool, /* client address validated by an address validation token */
|
||||
*logging.ConnectionTracer,
|
||||
uint64,
|
||||
ConnectionTracingID,
|
||||
utils.Logger,
|
||||
protocol.Version,
|
||||
) quicConn
|
||||
|
||||
@@ -301,7 +301,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -503,7 +503,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -571,7 +571,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -626,7 +626,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -675,7 +675,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -736,7 +736,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -969,7 +969,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -1036,7 +1036,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -1106,7 +1106,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -1176,7 +1176,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -1217,7 +1217,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -1272,7 +1272,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
@@ -1394,7 +1394,7 @@ var _ = Describe("Server", func() {
|
||||
_ *handshake.TokenGenerator,
|
||||
_ bool,
|
||||
_ *logging.ConnectionTracer,
|
||||
_ uint64,
|
||||
_ ConnectionTracingID,
|
||||
_ utils.Logger,
|
||||
_ protocol.Version,
|
||||
) quicConn {
|
||||
|
||||
Reference in New Issue
Block a user