kinesis-consumer/options.go

67 lines
1.4 KiB
Go
Raw Normal View History

package consumer
import (
"time"
"github.com/aws/aws-sdk-go/service/kinesis/kinesisiface"
)
// Option is used to override defaults when creating a new Consumer
type Option func(*Consumer)
2019-07-29 04:34:54 +00:00
// WithGroup overrides the default storage
func WithGroup(group Group) Option {
return func(c *Consumer) {
c.group = group
}
}
2019-07-29 04:33:19 +00:00
// WithStore overrides the default storage
func WithStore(store Store) Option {
return func(c *Consumer) {
c.store = store
}
}
// WithLogger overrides the default logger
func WithLogger(logger Logger) Option {
return func(c *Consumer) {
c.logger = logger
}
}
// WithCounter overrides the default counter
func WithCounter(counter Counter) Option {
return func(c *Consumer) {
c.counter = counter
}
}
// WithClient overrides the default client
func WithClient(client kinesisiface.KinesisAPI) Option {
return func(c *Consumer) {
c.client = client
}
}
2019-07-28 17:54:01 +00:00
// WithShardIteratorType overrides the starting point for the consumer
func WithShardIteratorType(t string) Option {
return func(c *Consumer) {
c.initialShardIteratorType = t
}
}
// WithTimestamp overrides the starting point for the consumer
func WithTimestamp(t time.Time) Option {
return func(c *Consumer) {
c.initialTimestamp = &t
}
}
// WithScanInterval overrides the scan interval for the consumer
func WithScanInterval(d time.Duration) Option {
return func(c *Consumer) {
c.scanInterval = d
}
}