feat: add FinalizeNats function; chore: add checks for non-nil connections before close

This commit is contained in:
jar3b 2020-02-21 15:47:48 +03:00
parent c1708a5308
commit b4635386bb

23
nacl.go
View File

@ -14,9 +14,10 @@ var (
)
type (
Msg = stan.Msg
NatsMsg = nats.Msg
Subscription = stan.Subscription
Msg = stan.Msg
NatsMsg = nats.Msg
Subscription = stan.Subscription
NatsSubscription = nats.Subscription
)
func SetupNats(host string, port int, user string, pass string, closeHandler *grawt.CloseHandler) error {
@ -64,6 +65,9 @@ func SetupStan(clusterName string, clientId string, host string, port int, user
}
func FinalizeStan(subscriptions *[]Subscription) error {
if StanClient == nil {
return fmt.Errorf("stan client is not initialized")
}
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe()
}
@ -74,3 +78,16 @@ func FinalizeStan(subscriptions *[]Subscription) error {
return nil
}
func FinalizeNats(subscriptions *[]*NatsSubscription) error {
if StanClient == nil {
return fmt.Errorf("stan client is not initialized")
}
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe()
}
NatsClient.Close()
return nil
}