docs: def _retry(self, context, backoff):
          '''
          A function which determines whether and how to retry.
  
          :param ~azure.storage.models.RetryContext context: 
              The retry context. This contains the request, response, and other data 
              which can be used to determine whether or not to retry.
          :param function() backoff:
              A function which returns the backoff time if a retry is to be performed.
          :return: 
              An integer indicating how long to wait before retrying the request, 
              or None to indicate no retry should be performed.
          :rtype: int or None
          '''
          # If the context does not contain a count parameter, this request has not 
          # been retried yet. Add the count parameter to track the number of retries.
          if not hasattr(context, 'count'):
              context.count = 0
  
          # Determine whether to retry, and if so increment the count, modify the 
          # request as desired, and return the backoff.
          if self._should_retry(context):
              context.count += 1
              
              # If retry to secondary is enabled, attempt to change the host if the 
              # request allows it
              if self.retry_to_secondary:
                  self._set_next_host_location(context)
  
              return backoff(context)
  
          return None