title: Is retry handled from go client library for azure service bus?
body: <p>I'm referencing to the client library in <a href="https://github.com/Azure/azure-service-bus-go" rel="nofollow noreferrer">https://github.com/Azure/azure-service-bus-go</a>. I was able to write a simple client which listens to a subscription and read the messages. If I drop the network, after a few seconds I could see the receive loop exiting with the error message &quot;context canceled&quot;. I was hoping the client library will do some kind of retry mechanism and handle any connection issues or any server timeouts etc. Do we need to handle this our selves ? Also do we get any exceptions which we could identify and use it for this retrying mechanism ? Any sample code would be highly appreciated.</p>
  <p>below is the sample code I tried (only including the vital parts).</p>
  <pre><code>err = subscription.Receive(ctx, servicebus.HandlerFunc(func(ctx context.Context, message *servicebus.Message) error {
          fmt.Println(string(message.Data))
          return message.Complete(ctx)
      }))
  
  if err != nil {
      fmt.Println(&quot;FATAL: &quot;, err)
      return
  }
  </code></pre>