Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Fargher <proglottis@gmail.com>2021-09-14 06:08:24 +0300
committerJames Fargher <proglottis@gmail.com>2021-09-14 06:08:24 +0300
commit29b7edea2d34492f181d6cc6d501cc9ae50abe53 (patch)
treea05136595fa5a86597b8f5dcf24512196aa19ebc
parent8db16bc798c26ebfbf6daf9940b65be17af8fbe2 (diff)
parent61dd302d9a0172c2169172266d022fb1f858e159 (diff)
Merge branch 'jv-sidechannel-remove-error' into 'master'
sidechannel: remove error return value See merge request gitlab-org/gitaly!3859
-rw-r--r--internal/sidechannel/registry.go4
-rw-r--r--internal/sidechannel/registry_test.go9
-rw-r--r--internal/sidechannel/sidechannel.go10
-rw-r--r--internal/sidechannel/sidechannel_test.go5
4 files changed, 9 insertions, 19 deletions
diff --git a/internal/sidechannel/registry.go b/internal/sidechannel/registry.go
index 50726ab7e..32985a9a1 100644
--- a/internal/sidechannel/registry.go
+++ b/internal/sidechannel/registry.go
@@ -40,7 +40,7 @@ func NewRegistry() *Registry {
// connection arrives, the callback function is executed with arrived
// connection in a new goroutine. The caller receives execution result via
// waiter.Wait().
-func (s *Registry) Register(callback func(net.Conn) error) (*Waiter, error) {
+func (s *Registry) Register(callback func(net.Conn) error) *Waiter {
s.mu.Lock()
defer s.mu.Unlock()
@@ -55,7 +55,7 @@ func (s *Registry) Register(callback func(net.Conn) error) (*Waiter, error) {
go waiter.run()
s.waiters[waiter.id] = waiter
- return waiter, nil
+ return waiter
}
// receive looks into the registry for a waiter with the given ID. If
diff --git a/internal/sidechannel/registry_test.go b/internal/sidechannel/registry_test.go
index a0a4a8bf7..5b8217e70 100644
--- a/internal/sidechannel/registry_test.go
+++ b/internal/sidechannel/registry_test.go
@@ -17,11 +17,10 @@ func TestRegistry(t *testing.T) {
t.Run("waiter removed from the registry right after connection received", func(t *testing.T) {
triggerCallback := make(chan struct{})
- waiter, err := registry.Register(func(conn net.Conn) error {
+ waiter := registry.Register(func(conn net.Conn) error {
<-triggerCallback
return nil
})
- require.NoError(t, err)
defer waiter.Close()
require.Equal(t, 1, registry.waiting())
@@ -46,11 +45,10 @@ func TestRegistry(t *testing.T) {
wg.Add(1)
go func(i int) {
- waiter, err := registry.Register(func(conn net.Conn) error {
+ waiter := registry.Register(func(conn net.Conn) error {
_, err := fmt.Fprintf(conn, "%d", i)
return err
})
- require.NoError(t, err)
defer waiter.Close()
require.NoError(t, registry.receive(waiter.id, client))
@@ -79,8 +77,7 @@ func TestRegistry(t *testing.T) {
})
t.Run("pre-maturely close the waiter", func(t *testing.T) {
- waiter, err := registry.Register(func(conn net.Conn) error { panic("never execute") })
- require.NoError(t, err)
+ waiter := registry.Register(func(conn net.Conn) error { panic("never execute") })
require.NoError(t, waiter.Close())
require.Equal(t, 0, registry.waiting())
})
diff --git a/internal/sidechannel/sidechannel.go b/internal/sidechannel/sidechannel.go
index eb716b022..c133fcc6e 100644
--- a/internal/sidechannel/sidechannel.go
+++ b/internal/sidechannel/sidechannel.go
@@ -76,14 +76,10 @@ func OpenSidechannel(ctx context.Context) (_ net.Conn, err error) {
// The caller is expected to establish the request with the returned context. The
// callback is executed automatically when the sidechannel connection arrives.
// The result is pushed to the error channel of the returned waiter.
-func RegisterSidechannel(ctx context.Context, registry *Registry, callback func(net.Conn) error) (context.Context, *Waiter, error) {
- waiter, err := registry.Register(callback)
- if err != nil {
- return ctx, nil, err
- }
-
+func RegisterSidechannel(ctx context.Context, registry *Registry, callback func(net.Conn) error) (context.Context, *Waiter) {
+ waiter := registry.Register(callback)
ctxOut := metadata.AppendToOutgoingContext(ctx, sidechannelMetadataKey, fmt.Sprintf("%d", waiter.id))
- return ctxOut, waiter, nil
+ return ctxOut, waiter
}
// ServerHandshaker implements the server-side sidechannel handshake.
diff --git a/internal/sidechannel/sidechannel_test.go b/internal/sidechannel/sidechannel_test.go
index 20fcd1d80..bfcd4fa42 100644
--- a/internal/sidechannel/sidechannel_test.go
+++ b/internal/sidechannel/sidechannel_test.go
@@ -191,11 +191,8 @@ func dial(t *testing.T, addr string) (*grpc.ClientConn, *Registry) {
func call(ctx context.Context, conn *grpc.ClientConn, registry *Registry, handler func(net.Conn) error) error {
client := healthpb.NewHealthClient(conn)
- ctxOut, waiter, err := RegisterSidechannel(ctx, registry, handler)
+ ctxOut, waiter := RegisterSidechannel(ctx, registry, handler)
defer waiter.Close()
- if err != nil {
- return err
- }
if _, err := client.Check(ctxOut, &healthpb.HealthCheckRequest{}); err != nil {
return err