micro-broker-segmentio/options.go
Vasiliy Tolstov 0b767b38a2 update to latest micro
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-09-22 13:22:12 +03:00

44 lines
1.1 KiB
Go

package segmentio
import (
"context"
kafka "github.com/segmentio/kafka-go"
"github.com/unistack-org/micro/v3/broker"
)
var (
DefaultReaderConfig = kafka.WriterConfig{}
DefaultWriterConfig = kafka.ReaderConfig{}
)
type readerConfigKey struct{}
type writerConfigKey struct{}
func ReaderConfig(c kafka.ReaderConfig) broker.Option {
return broker.SetOption(readerConfigKey{}, c)
}
func WriterConfig(c kafka.WriterConfig) broker.Option {
return broker.SetOption(writerConfigKey{}, c)
}
type subscribeContextKey struct{}
// SubscribeContext set the context for broker.SubscribeOption
func SubscribeContext(ctx context.Context) broker.SubscribeOption {
return broker.SetSubscribeOption(subscribeContextKey{}, ctx)
}
type subscribeReaderConfigKey struct{}
func SubscribeReaderConfig(c kafka.ReaderConfig) broker.SubscribeOption {
return broker.SetSubscribeOption(subscribeReaderConfigKey{}, c)
}
type subscribeWriterConfigKey struct{}
func SubscribeWriterConfig(c kafka.WriterConfig) broker.SubscribeOption {
return broker.SetSubscribeOption(subscribeWriterConfigKey{}, c)
}