mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-07-30 10:50:12 +00:00
TUN-6637: Upgrade go version and quic-go
This commit is contained in:
11
vendor/github.com/marten-seemann/qtls-go1-18/conn.go
generated
vendored
11
vendor/github.com/marten-seemann/qtls-go1-18/conn.go
generated
vendored
@@ -32,6 +32,7 @@ type Conn struct {
|
||||
|
||||
// handshakeStatus is 1 if the connection is currently transferring
|
||||
// application data (i.e. is not currently processing a handshake).
|
||||
// handshakeStatus == 1 implies handshakeErr == nil.
|
||||
// This field is only to be accessed with sync/atomic.
|
||||
handshakeStatus uint32
|
||||
// constant after handshake; protected by handshakeMutex
|
||||
@@ -1458,6 +1459,13 @@ func (c *Conn) HandshakeContext(ctx context.Context) error {
|
||||
}
|
||||
|
||||
func (c *Conn) handshakeContext(ctx context.Context) (ret error) {
|
||||
// Fast sync/atomic-based exit if there is no handshake in flight and the
|
||||
// last one succeeded without an error. Avoids the expensive context setup
|
||||
// and mutex for most Read and Write calls.
|
||||
if c.handshakeComplete() {
|
||||
return nil
|
||||
}
|
||||
|
||||
handshakeCtx, cancel := context.WithCancel(ctx)
|
||||
// Note: defer this before starting the "interrupter" goroutine
|
||||
// so that we can tell the difference between the input being canceled and
|
||||
@@ -1516,6 +1524,9 @@ func (c *Conn) handshakeContext(ctx context.Context) (ret error) {
|
||||
if c.handshakeErr == nil && !c.handshakeComplete() {
|
||||
c.handshakeErr = errors.New("tls: internal error: handshake should have had a result")
|
||||
}
|
||||
if c.handshakeErr != nil && c.handshakeComplete() {
|
||||
panic("tls: internal error: handshake returned an error but is marked successful")
|
||||
}
|
||||
|
||||
return c.handshakeErr
|
||||
}
|
||||
|
Reference in New Issue
Block a user