MCPcopy
hub / github.com/nats-io/nats.go / setupConnOptions

Function setupConnOptions

examples/nats-echo/main.go:166–188  ·  view source on GitHub ↗
(opts []nats.Option)

Source from the content-addressed store, hash-verified

164}
165
166func setupConnOptions(opts []nats.Option) []nats.Option {
167 totalWait := 10 * time.Minute
168 reconnectDelay := time.Second
169
170 opts = append(opts, nats.ReconnectWait(reconnectDelay))
171 opts = append(opts, nats.MaxReconnects(int(totalWait/reconnectDelay)))
172 opts = append(opts, nats.DisconnectErrHandler(func(nc *nats.Conn, err error) {
173 if !nc.IsClosed() {
174 log.Printf("Disconnected due to: %s, will attempt reconnects for %.0fm", err, totalWait.Minutes())
175 }
176 }))
177 opts = append(opts, nats.ReconnectHandler(func(nc *nats.Conn) {
178 log.Printf("Reconnected [%s]", nc.ConnectedUrl())
179 }))
180 opts = append(opts, nats.ClosedHandler(func(nc *nats.Conn) {
181 if !nc.IsClosed() {
182 log.Fatal("Exiting: no servers available")
183 } else {
184 log.Fatal("Exiting")
185 }
186 }))
187 return opts
188}
189
190// We only want region, country
191type geo struct {

Callers 1

mainFunction · 0.70

Calls 5

DisconnectErrHandlerMethod · 0.80
IsClosedMethod · 0.80
ReconnectHandlerMethod · 0.80
ConnectedUrlMethod · 0.80
ClosedHandlerMethod · 0.80

Tested by

no test coverage detected