VOL-1497 : Add more control to kv/memory access
- Added kv locking mechanism (etcd only)
- (watch) control path access whenever possible
- (watch) use a transaction for updates and merge with memory
- cleaned up vendoring
- misc changes to fix exceptions found along the way
Amendments:
- Copyright header got removed in auto-generated file
- Changed default locking to false for KV list operation
- Updated backend api to allow the passing of locking parameter
Change-Id: Ie1a55d3ca8b9d92ae71a85ce42bb22fcf1419e2c
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
index 39208b1..babcaee 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_client.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
@@ -91,10 +91,10 @@
maxSendHeaderListSize *uint32
bdpEst *bdpEstimator
- // onSuccess is a callback that client transport calls upon
+ // onPrefaceReceipt is a callback that client transport calls upon
// receiving server preface to signal that a succefull HTTP2
// connection was established.
- onSuccess func()
+ onPrefaceReceipt func()
maxConcurrentStreams uint32
streamQuota int64
@@ -145,7 +145,7 @@
// newHTTP2Client constructs a connected ClientTransport to addr based on HTTP2
// and starts to receive messages on it. Non-nil error returns if construction
// fails.
-func newHTTP2Client(connectCtx, ctx context.Context, addr TargetInfo, opts ConnectOptions, onSuccess func(), onGoAway func(GoAwayReason), onClose func()) (_ *http2Client, err error) {
+func newHTTP2Client(connectCtx, ctx context.Context, addr TargetInfo, opts ConnectOptions, onPrefaceReceipt func(), onGoAway func(GoAwayReason), onClose func()) (_ *http2Client, err error) {
scheme := "http"
ctx, cancel := context.WithCancel(ctx)
defer func() {
@@ -240,7 +240,7 @@
kp: kp,
statsHandler: opts.StatsHandler,
initialWindowSize: initialWindowSize,
- onSuccess: onSuccess,
+ onPrefaceReceipt: onPrefaceReceipt,
nextID: 1,
maxConcurrentStreams: defaultMaxStreamsClient,
streamQuota: defaultMaxStreamsClient,
@@ -362,6 +362,9 @@
ctx: s.ctx,
ctxDone: s.ctx.Done(),
recv: s.buf,
+ closeStream: func(err error) {
+ t.CloseStream(s, err)
+ },
},
windowHandler: func(n int) {
t.updateWindow(s, uint32(n))
@@ -780,7 +783,7 @@
}
t.statsHandler.HandleConn(t.ctx, connEnd)
}
- go t.onClose()
+ t.onClose()
return err
}
@@ -1210,7 +1213,7 @@
t.Close() // this kicks off resetTransport, so must be last before return
return
}
- t.onSuccess()
+ t.onPrefaceReceipt()
t.handleSettings(sf, true)
// loop to keep reading incoming messages on this transport.