micro/broker/nats/options.go

26 lines
619 B
Go
Raw Normal View History

2019-05-29 18:46:57 +03:00
package nats
import (
"github.com/micro/go-micro/v2/broker"
2019-05-29 18:46:57 +03:00
nats "github.com/nats-io/nats.go"
)
type optionsKey struct{}
type drainConnectionKey struct{}
type localServerKey struct{}
2019-05-29 18:46:57 +03:00
// Options accepts nats.Options
func Options(opts nats.Options) broker.Option {
return setBrokerOption(optionsKey{}, opts)
}
// LocalServer embeds a local server rather than connecting to one
func LocalServer() broker.Option {
return setBrokerOption(localServerKey{}, true)
}
2019-05-29 18:46:57 +03:00
// DrainConnection will drain subscription on close
func DrainConnection() broker.Option {
return setBrokerOption(drainConnectionKey{}, struct{}{})
2019-05-29 18:46:57 +03:00
}