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

17
nacl.go
View File

@ -17,6 +17,7 @@ type (
Msg = stan.Msg Msg = stan.Msg
NatsMsg = nats.Msg NatsMsg = nats.Msg
Subscription = stan.Subscription Subscription = stan.Subscription
NatsSubscription = nats.Subscription
) )
func SetupNats(host string, port int, user string, pass string, closeHandler *grawt.CloseHandler) error { 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 { func FinalizeStan(subscriptions *[]Subscription) error {
if StanClient == nil {
return fmt.Errorf("stan client is not initialized")
}
for _, subscription := range *subscriptions { for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe() _ = subscription.Unsubscribe()
} }
@ -74,3 +78,16 @@ func FinalizeStan(subscriptions *[]Subscription) error {
return nil 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
}