From 75407c0f825e44dc354ef2f6e10e6a7d3697254c Mon Sep 17 00:00:00 2001 From: iamqizhao Date: Mon, 18 Apr 2016 12:05:24 -0700 Subject: [PATCH 1/2] change backoff to pointer receiver --- backoff.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backoff.go b/backoff.go index 36602caa..f9079d06 100644 --- a/backoff.go +++ b/backoff.go @@ -58,7 +58,7 @@ func (bc *BackoffConfig) setDefaults() { } } -func (bc BackoffConfig) backoff(retries int) (t time.Duration) { +func (bc *BackoffConfig) backoff(retries int) (t time.Duration) { if retries == 0 { return bc.baseDelay } From 9cec19a4d4d29f76eac975e5e40528ba6a6387a3 Mon Sep 17 00:00:00 2001 From: iamqizhao Date: Mon, 18 Apr 2016 13:15:27 -0700 Subject: [PATCH 2/2] make setDefault(...) non-member function --- backoff.go | 4 ++-- backoff_test.go | 2 +- clientconn.go | 2 +- clientconn_test.go | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backoff.go b/backoff.go index f9079d06..dc4858eb 100644 --- a/backoff.go +++ b/backoff.go @@ -49,7 +49,7 @@ type BackoffConfig struct { jitter float64 } -func (bc *BackoffConfig) setDefaults() { +func setDefaults(bc *BackoffConfig) { md := bc.MaxDelay *bc = DefaultBackoffConfig @@ -58,7 +58,7 @@ func (bc *BackoffConfig) setDefaults() { } } -func (bc *BackoffConfig) backoff(retries int) (t time.Duration) { +func (bc BackoffConfig) backoff(retries int) (t time.Duration) { if retries == 0 { return bc.baseDelay } diff --git a/backoff_test.go b/backoff_test.go index 847858c1..bfca7b17 100644 --- a/backoff_test.go +++ b/backoff_test.go @@ -4,7 +4,7 @@ import "testing" func TestBackoffConfigDefaults(t *testing.T) { b := BackoffConfig{} - b.setDefaults() + setDefaults(&b) if b != DefaultBackoffConfig { t.Fatalf("expected BackoffConfig to pickup default parameters: %v != %v", b, DefaultBackoffConfig) } diff --git a/clientconn.go b/clientconn.go index 9b29eabd..6de86e9e 100644 --- a/clientconn.go +++ b/clientconn.go @@ -129,7 +129,7 @@ func WithBackoffMaxDelay(md time.Duration) DialOption { func WithBackoffConfig(b BackoffConfig) DialOption { // Set defaults to ensure that provided BackoffConfig is valid and // unexported fields get default values. - b.setDefaults() + setDefaults(&b) return withBackoff(b) } diff --git a/clientconn_test.go b/clientconn_test.go index 336ad4dd..b44f5b29 100644 --- a/clientconn_test.go +++ b/clientconn_test.go @@ -88,14 +88,14 @@ func TestWithBackoffConfigDefault(t *testing.T) { func TestWithBackoffConfig(t *testing.T) { b := BackoffConfig{MaxDelay: DefaultBackoffConfig.MaxDelay / 2} expected := b - expected.setDefaults() // defaults should be set + setDefaults(&expected) // defaults should be set testBackoffConfigSet(t, &expected, WithBackoffConfig(b)) } func TestWithBackoffMaxDelay(t *testing.T) { md := DefaultBackoffConfig.MaxDelay / 2 expected := BackoffConfig{MaxDelay: md} - expected.setDefaults() + setDefaults(&expected) testBackoffConfigSet(t, &expected, WithBackoffMaxDelay(md)) }