I notice the subscribe client when being closed/shutdown, it will loop a map[string]subscription and wait to close each subscription. How about if we subscribe to the same topic a couple of times in one app which could be possibly done through different modules? Then we will override the subscription in the map with the same topic and we won't gracefully shutdown.
type struct subscriptionEntry {
topic string
subscription *stan.Subscription
}
A slice []subscriptionEntryt might be good enough instead of a map.
How to do unsubscribe? I know in most cases, we do not need to.
I notice the
subscribeclient when being closed/shutdown, it will loop amap[string]subscriptionand wait to close each subscription. How about if we subscribe to the same topic a couple of times in one app which could be possibly done through different modules? Then we will override the subscription in the map with the same topic and we won't gracefully shutdown.type struct subscriptionEntry {
topic string
subscription *stan.Subscription
}
A slice
[]subscriptionEntrytmight be good enough instead of a map.How to do unsubscribe? I know in most cases, we do not need to.