DrainXXX options for nats broker and subscriber

This commit is contained in:
magodo
2019-05-15 15:45:03 +08:00
committed by Vasiliy Tolstov
parent 20453c885d
commit 4ac1ad4a6b
2 changed files with 37 additions and 4 deletions

View File

@@ -6,8 +6,20 @@ import (
)
type optionsKey struct{}
type drainConnectionKey struct{}
type drainSubscriptionKey struct{}
// Options accepts nats.Options
func Options(opts nats.Options) broker.Option {
return setBrokerOption(optionsKey{}, opts)
}
// DrainConnection will drain subscription on close
func DrainConnection() broker.Option {
return setBrokerOption(drainConnectionKey{}, true)
}
// DrainSubscription will drain pending messages when unsubscribe
func DrainSubscription() broker.SubscribeOption {
return setSubscribeOption(drainSubscriptionKey{}, true)
}