3 Commits

Author SHA1 Message Date
jar3b
d159a8e392 fix: NatsClient in FinalizeNats 2020-02-21 16:08:15 +03:00
jar3b
b4635386bb feat: add FinalizeNats function; chore: add checks for non-nil connections before close 2020-02-21 15:47:48 +03:00
jar3b
c1708a5308 bump: nats-streaming-server v0.16.2 -> v0.17.0 2020-02-21 14:50:02 +03:00
2 changed files with 22 additions and 6 deletions

5
go.mod
View File

@@ -3,10 +3,9 @@ module github.com/jar3b/nacl
go 1.13
require (
github.com/golang/protobuf v1.3.3 // indirect
github.com/jar3b/grawt v0.1.5
github.com/nats-io/nats-server/v2 v2.1.2 // indirect
github.com/nats-io/nats-streaming-server v0.16.2 // indirect
github.com/nats-io/nats-streaming-server v0.17.0 // indirect
github.com/nats-io/nats.go v1.9.1
github.com/nats-io/stan.go v0.6.0
github.com/sirupsen/logrus v1.4.2
)

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 NatsClient == nil {
return fmt.Errorf("stan client is not initialized")
}
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe()
}
NatsClient.Close()
return nil
}