kinesis-consumer/store/ddb/retryer.go
Dimas Yudha P a252eb38c6 Readme and linter fix (#102)
* update readme.md adding goreport

* update readme and fix issue found by linter

* update readme.md add Go badges

* update readme.md, fix go badges
2019-08-31 18:43:26 -07:00

26 lines
560 B
Go

package ddb
import (
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/dynamodb"
)
// Retryer interface contains one method that decides whether to retry based on error
type Retryer interface {
ShouldRetry(error) bool
}
// DefaultRetryer .
type DefaultRetryer struct {
Retryer
}
// ShouldRetry when error occured
func (r *DefaultRetryer) ShouldRetry(err error) bool {
if awsErr, ok := err.(awserr.Error); ok {
if awsErr.Code() == dynamodb.ErrCodeProvisionedThroughputExceededException {
return true
}
}
return false
}