From 526d15bd8626625a119a2053aeb23e6cfdf597d5 Mon Sep 17 00:00:00 2001 From: Michael Crosby Date: Mon, 6 Nov 2017 11:46:17 -0500 Subject: [PATCH] Move dial funcs to dialer pkg This reduces shim size from 30mb to 18mb Signed-off-by: Michael Crosby --- client.go | 5 +++-- cmd/containerd-shim/main_unix.go | 6 +++--- dialer.go => dialer/dialer.go | 9 ++++++++- dialer_unix.go => dialer/dialer_unix.go | 9 +-------- dialer_windows.go => dialer/dialer_windows.go | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) rename dialer.go => dialer/dialer.go (80%) rename dialer_unix.go => dialer/dialer_unix.go (70%) rename dialer_windows.go => dialer/dialer_windows.go (96%) diff --git a/client.go b/client.go index ad41ee57e..2ad4397bd 100644 --- a/client.go +++ b/client.go @@ -22,6 +22,7 @@ import ( versionservice "github.com/containerd/containerd/api/services/version/v1" "github.com/containerd/containerd/containers" "github.com/containerd/containerd/content" + "github.com/containerd/containerd/dialer" "github.com/containerd/containerd/diff" "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/images" @@ -72,7 +73,7 @@ func New(address string, opts ...ClientOpt) (*Client, error) { grpc.WithTimeout(60 * time.Second), grpc.FailOnNonTempDialError(true), grpc.WithBackoffMaxDelay(3 * time.Second), - grpc.WithDialer(Dialer), + grpc.WithDialer(dialer.Dialer), } if len(copts.dialOptions) > 0 { gopts = copts.dialOptions @@ -84,7 +85,7 @@ func New(address string, opts ...ClientOpt) (*Client, error) { grpc.WithStreamInterceptor(stream), ) } - conn, err := grpc.Dial(DialAddress(address), gopts...) + conn, err := grpc.Dial(dialer.DialAddress(address), gopts...) if err != nil { return nil, errors.Wrapf(err, "failed to dial %q", address) } diff --git a/cmd/containerd-shim/main_unix.go b/cmd/containerd-shim/main_unix.go index 697f0c0b3..c3dece81e 100644 --- a/cmd/containerd-shim/main_unix.go +++ b/cmd/containerd-shim/main_unix.go @@ -13,8 +13,8 @@ import ( "syscall" "time" - "github.com/containerd/containerd" eventsapi "github.com/containerd/containerd/api/services/events/v1" + "github.com/containerd/containerd/dialer" "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/events" "github.com/containerd/containerd/linux/shim" @@ -212,7 +212,7 @@ func dumpStacks(logger *logrus.Entry) { } func connectEvents(address string) (eventsapi.EventsClient, error) { - conn, err := connect(address, containerd.Dialer) + conn, err := connect(address, dialer.Dialer) if err != nil { return nil, errors.Wrapf(err, "failed to dial %q", address) } @@ -228,7 +228,7 @@ func connect(address string, d func(string, time.Duration) (net.Conn, error)) (* grpc.FailOnNonTempDialError(true), grpc.WithBackoffMaxDelay(3 * time.Second), } - conn, err := grpc.Dial(containerd.DialAddress(address), gopts...) + conn, err := grpc.Dial(dialer.DialAddress(address), gopts...) if err != nil { return nil, errors.Wrapf(err, "failed to dial %q", address) } diff --git a/dialer.go b/dialer/dialer.go similarity index 80% rename from dialer.go rename to dialer/dialer.go index c87cf12d0..b1a5a3c28 100644 --- a/dialer.go +++ b/dialer/dialer.go @@ -1,6 +1,7 @@ -package containerd +package dialer import ( + "fmt" "net" "time" @@ -12,6 +13,12 @@ type dialResult struct { err error } +// DialAddress returns the address with unix:// prepended to the +// provided address +func DialAddress(address string) string { + return fmt.Sprintf("unix://%s", address) +} + // Dialer returns a GRPC net.Conn connected to the provided address func Dialer(address string, timeout time.Duration) (net.Conn, error) { var ( diff --git a/dialer_unix.go b/dialer/dialer_unix.go similarity index 70% rename from dialer_unix.go rename to dialer/dialer_unix.go index 2e97d17a4..3a078d4bd 100644 --- a/dialer_unix.go +++ b/dialer/dialer_unix.go @@ -1,9 +1,8 @@ // +build !windows -package containerd +package dialer import ( - "fmt" "net" "os" "strings" @@ -28,9 +27,3 @@ func dialer(address string, timeout time.Duration) (net.Conn, error) { address = strings.TrimPrefix(address, "unix://") return net.DialTimeout("unix", address, timeout) } - -// DialAddress returns the address with unix:// prepended to the -// provided address -func DialAddress(address string) string { - return fmt.Sprintf("unix://%s", address) -} diff --git a/dialer_windows.go b/dialer/dialer_windows.go similarity index 96% rename from dialer_windows.go rename to dialer/dialer_windows.go index 43625ef1f..2aac03898 100644 --- a/dialer_windows.go +++ b/dialer/dialer_windows.go @@ -1,4 +1,4 @@ -package containerd +package dialer import ( "net"