Browse Source

fix golint issues in core/breaker (#466)

Kevin Wan 4 years ago
parent
commit
8ebf6750b9
3 changed files with 18 additions and 3 deletions
  1. 10 1
      core/breaker/breaker.go
  2. 7 1
      core/breaker/breakers.go
  3. 1 1
      core/breaker/breakers_test.go

+ 10 - 1
core/breaker/breaker.go

@@ -18,12 +18,14 @@ const (
 	timeFormat        = "15:04:05"
 	timeFormat        = "15:04:05"
 )
 )
 
 
-// ErrServiceUnavailable is returned when the CB state is open
+// ErrServiceUnavailable is returned when the Breaker state is open.
 var ErrServiceUnavailable = errors.New("circuit breaker is open")
 var ErrServiceUnavailable = errors.New("circuit breaker is open")
 
 
 type (
 type (
+	// Acceptable is the func to check if the error can be accepted.
 	Acceptable func(err error) bool
 	Acceptable func(err error) bool
 
 
+	// A Breaker represents a circuit breaker.
 	Breaker interface {
 	Breaker interface {
 		// Name returns the name of the Breaker.
 		// Name returns the name of the Breaker.
 		Name() string
 		Name() string
@@ -61,10 +63,14 @@ type (
 		DoWithFallbackAcceptable(req func() error, fallback func(err error) error, acceptable Acceptable) error
 		DoWithFallbackAcceptable(req func() error, fallback func(err error) error, acceptable Acceptable) error
 	}
 	}
 
 
+	// Option defines the method to customize a Breaker.
 	Option func(breaker *circuitBreaker)
 	Option func(breaker *circuitBreaker)
 
 
+	// Promise interface defines the callbacks that returned by Breaker.Allow.
 	Promise interface {
 	Promise interface {
+		// Accept tells the Breaker that the call is successful.
 		Accept()
 		Accept()
+		// Reject tells the Breaker that the call is failed.
 		Reject(reason string)
 		Reject(reason string)
 	}
 	}
 
 
@@ -89,6 +95,8 @@ type (
 	}
 	}
 )
 )
 
 
+// NewBreaker returns a Breaker object.
+// opts can be used to customize the Breaker.
 func NewBreaker(opts ...Option) Breaker {
 func NewBreaker(opts ...Option) Breaker {
 	var b circuitBreaker
 	var b circuitBreaker
 	for _, opt := range opts {
 	for _, opt := range opts {
@@ -127,6 +135,7 @@ func (cb *circuitBreaker) Name() string {
 	return cb.name
 	return cb.name
 }
 }
 
 
+// WithName returns a function to set the name of a Breaker.
 func WithName(name string) Option {
 func WithName(name string) Option {
 	return func(b *circuitBreaker) {
 	return func(b *circuitBreaker) {
 		b.name = name
 		b.name = name

+ 7 - 1
core/breaker/breakers.go

@@ -7,24 +7,28 @@ var (
 	breakers = make(map[string]Breaker)
 	breakers = make(map[string]Breaker)
 )
 )
 
 
+// Do calls Breaker.Do on the Breaker with given name.
 func Do(name string, req func() error) error {
 func Do(name string, req func() error) error {
 	return do(name, func(b Breaker) error {
 	return do(name, func(b Breaker) error {
 		return b.Do(req)
 		return b.Do(req)
 	})
 	})
 }
 }
 
 
+// DoWithAcceptable calls Breaker.DoWithAcceptable on the Breaker with given name.
 func DoWithAcceptable(name string, req func() error, acceptable Acceptable) error {
 func DoWithAcceptable(name string, req func() error, acceptable Acceptable) error {
 	return do(name, func(b Breaker) error {
 	return do(name, func(b Breaker) error {
 		return b.DoWithAcceptable(req, acceptable)
 		return b.DoWithAcceptable(req, acceptable)
 	})
 	})
 }
 }
 
 
+// DoWithFallback calls Breaker.DoWithFallback on the Breaker with given name.
 func DoWithFallback(name string, req func() error, fallback func(err error) error) error {
 func DoWithFallback(name string, req func() error, fallback func(err error) error) error {
 	return do(name, func(b Breaker) error {
 	return do(name, func(b Breaker) error {
 		return b.DoWithFallback(req, fallback)
 		return b.DoWithFallback(req, fallback)
 	})
 	})
 }
 }
 
 
+// DoWithFallbackAcceptable calls Breaker.DoWithFallbackAcceptable on the Breaker with given name.
 func DoWithFallbackAcceptable(name string, req func() error, fallback func(err error) error,
 func DoWithFallbackAcceptable(name string, req func() error, fallback func(err error) error,
 	acceptable Acceptable) error {
 	acceptable Acceptable) error {
 	return do(name, func(b Breaker) error {
 	return do(name, func(b Breaker) error {
@@ -32,6 +36,7 @@ func DoWithFallbackAcceptable(name string, req func() error, fallback func(err e
 	})
 	})
 }
 }
 
 
+// GetBreaker returns the Breaker with the given name.
 func GetBreaker(name string) Breaker {
 func GetBreaker(name string) Breaker {
 	lock.RLock()
 	lock.RLock()
 	b, ok := breakers[name]
 	b, ok := breakers[name]
@@ -51,7 +56,8 @@ func GetBreaker(name string) Breaker {
 	return b
 	return b
 }
 }
 
 
-func NoBreakFor(name string) {
+// NoBreakerFor disables the circuit breaker for the given name.
+func NoBreakerFor(name string) {
 	lock.Lock()
 	lock.Lock()
 	breakers[name] = newNoOpBreaker()
 	breakers[name] = newNoOpBreaker()
 	lock.Unlock()
 	lock.Unlock()

+ 1 - 1
core/breaker/breakers_test.go

@@ -55,7 +55,7 @@ func TestBreakersDoWithAcceptable(t *testing.T) {
 }
 }
 
 
 func TestBreakersNoBreakerFor(t *testing.T) {
 func TestBreakersNoBreakerFor(t *testing.T) {
-	NoBreakFor("any")
+	NoBreakerFor("any")
 	errDummy := errors.New("any")
 	errDummy := errors.New("any")
 	for i := 0; i < 10000; i++ {
 	for i := 0; i < 10000; i++ {
 		assert.Equal(t, errDummy, GetBreaker("any").Do(func() error {
 		assert.Equal(t, errDummy, GetBreaker("any").Do(func() error {