diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2020-04-01 13:54:15 +0300 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2020-04-01 13:54:15 +0300 |
commit | 289bf986552e8678a76e7085133e69bc453e27a5 (patch) | |
tree | f4d2fb8ed8188980b76eefe29b68223f0b3aa2b2 | |
parent | 55062d1b99d9c405855139fbc598a4770028876e (diff) | |
parent | de66a4f02ed126d7181a01e081692aa47d3eab43 (diff) |
Merge branch 'jc-move-std-stream' into 'master'
Move standard stream into its own internal package
See merge request gitlab-org/gitaly!1994
-rw-r--r-- | client/receive_pack.go | 13 | ||||
-rw-r--r-- | client/upload_archive.go | 13 | ||||
-rw-r--r-- | client/upload_pack.go | 13 | ||||
-rw-r--r-- | internal/stream/std_stream.go (renamed from client/std_stream.go) | 8 |
4 files changed, 25 insertions, 22 deletions
diff --git a/client/receive_pack.go b/client/receive_pack.go index 0a92a8321..b3ca8d8d5 100644 --- a/client/receive_pack.go +++ b/client/receive_pack.go @@ -4,6 +4,7 @@ import ( "context" "io" + "gitlab.com/gitlab-org/gitaly/internal/stream" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" "gitlab.com/gitlab-org/gitaly/streamio" "google.golang.org/grpc" @@ -15,24 +16,24 @@ func ReceivePack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, st defer cancel() ssh := gitalypb.NewSSHServiceClient(conn) - stream, err := ssh.SSHReceivePack(ctx2) + receivePackStream, err := ssh.SSHReceivePack(ctx2) if err != nil { return 0, err } - if err = stream.Send(req); err != nil { + if err = receivePackStream.Send(req); err != nil { return 0, err } inWriter := streamio.NewWriter(func(p []byte) error { - return stream.Send(&gitalypb.SSHReceivePackRequest{Stdin: p}) + return receivePackStream.Send(&gitalypb.SSHReceivePackRequest{Stdin: p}) }) - return streamHandler(func() (stdoutStderrResponse, error) { - return stream.Recv() + return stream.Handler(func() (stream.StdoutStderrResponse, error) { + return receivePackStream.Recv() }, func(errC chan error) { _, errRecv := io.Copy(inWriter, stdin) - stream.CloseSend() + receivePackStream.CloseSend() errC <- errRecv }, stdout, stderr) } diff --git a/client/upload_archive.go b/client/upload_archive.go index 3dd5dc05c..118ef4787 100644 --- a/client/upload_archive.go +++ b/client/upload_archive.go @@ -4,6 +4,7 @@ import ( "context" "io" + "gitlab.com/gitlab-org/gitaly/internal/stream" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" "gitlab.com/gitlab-org/gitaly/streamio" "google.golang.org/grpc" @@ -15,24 +16,24 @@ func UploadArchive(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, defer cancel() ssh := gitalypb.NewSSHServiceClient(conn) - stream, err := ssh.SSHUploadArchive(ctx2) + uploadPackStream, err := ssh.SSHUploadArchive(ctx2) if err != nil { return 0, err } - if err = stream.Send(req); err != nil { + if err = uploadPackStream.Send(req); err != nil { return 0, err } inWriter := streamio.NewWriter(func(p []byte) error { - return stream.Send(&gitalypb.SSHUploadArchiveRequest{Stdin: p}) + return uploadPackStream.Send(&gitalypb.SSHUploadArchiveRequest{Stdin: p}) }) - return streamHandler(func() (stdoutStderrResponse, error) { - return stream.Recv() + return stream.Handler(func() (stream.StdoutStderrResponse, error) { + return uploadPackStream.Recv() }, func(errC chan error) { _, errRecv := io.Copy(inWriter, stdin) - stream.CloseSend() + uploadPackStream.CloseSend() errC <- errRecv }, stdout, stderr) } diff --git a/client/upload_pack.go b/client/upload_pack.go index dcd48b6b1..b7c004576 100644 --- a/client/upload_pack.go +++ b/client/upload_pack.go @@ -4,6 +4,7 @@ import ( "context" "io" + "gitlab.com/gitlab-org/gitaly/internal/stream" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" "gitlab.com/gitlab-org/gitaly/streamio" "google.golang.org/grpc" @@ -15,24 +16,24 @@ func UploadPack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, std defer cancel() ssh := gitalypb.NewSSHServiceClient(conn) - stream, err := ssh.SSHUploadPack(ctx2) + uploadPackStream, err := ssh.SSHUploadPack(ctx2) if err != nil { return 0, err } - if err = stream.Send(req); err != nil { + if err = uploadPackStream.Send(req); err != nil { return 0, err } inWriter := streamio.NewWriter(func(p []byte) error { - return stream.Send(&gitalypb.SSHUploadPackRequest{Stdin: p}) + return uploadPackStream.Send(&gitalypb.SSHUploadPackRequest{Stdin: p}) }) - return streamHandler(func() (stdoutStderrResponse, error) { - return stream.Recv() + return stream.Handler(func() (stream.StdoutStderrResponse, error) { + return uploadPackStream.Recv() }, func(errC chan error) { _, errRecv := io.Copy(inWriter, stdin) - stream.CloseSend() + uploadPackStream.CloseSend() errC <- errRecv }, stdout, stderr) } diff --git a/client/std_stream.go b/internal/stream/std_stream.go index cf0d5e96e..908f149c8 100644 --- a/client/std_stream.go +++ b/internal/stream/std_stream.go @@ -1,4 +1,4 @@ -package client +package stream import ( "fmt" @@ -7,17 +7,17 @@ import ( "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" ) -type stdoutStderrResponse interface { +type StdoutStderrResponse interface { GetExitStatus() *gitalypb.ExitStatus GetStderr() []byte GetStdout() []byte } -func streamHandler(recv func() (stdoutStderrResponse, error), send func(chan error), stdout, stderr io.Writer) (int32, error) { +func Handler(recv func() (StdoutStderrResponse, error), send func(chan error), stdout, stderr io.Writer) (int32, error) { var ( exitStatus int32 err error - resp stdoutStderrResponse + resp StdoutStderrResponse ) errC := make(chan error, 1) |