docs: def check_quota(self):
          """
          Check whether the user is within quota.  Should be called before
          every write.  Will raise() if the library has exceeded its allotted
          quota.
          """
          # Don't check on every write, that would be slow
          if self.quota_countdown > 0:
              self.quota_countdown -= 1
              return
  
          # Re-cache the quota after the countdown
          self.quota = self.get_library_metadata(ArcticLibraryBinding.QUOTA)
          if self.quota is None or self.quota == 0:
              self.quota = 0
              return
  
          # Figure out whether the user has exceeded their quota
          library = self.arctic[self.get_name()]
          stats = library.stats()
  
          def to_gigabytes(bytes_):
              return bytes_ / 1024. / 1024. / 1024.
  
          # Have we exceeded our quota?
          size = stats['totals']['size']
          count = stats['totals']['count']
          if size >= self.quota:
              raise QuotaExceededException("Mongo Quota Exceeded: %s %.3f / %.0f GB used" % (
                  '.'.join([self.database_name, self.library]),
                  to_gigabytes(size),
                  to_gigabytes(self.quota)))
  
          # Quota not exceeded, print an informational message and return
          try:
              avg_size = size // count if count > 1 else 100 * 1024
              remaining = self.quota - size
              remaining_count = remaining / avg_size
              if remaining_count < 100 or float(remaining) / self.quota < 0.1:
                  logger.warning("Mongo Quota: %s %.3f / %.0f GB used" % (
                      '.'.join([self.database_name, self.library]),
                      to_gigabytes(size),
                      to_gigabytes(self.quota)))
              else:
                  logger.info("Mongo Quota: %s %.3f / %.0f GB used" % (
                      '.'.join([self.database_name, self.library]),
                      to_gigabytes(size),
                      to_gigabytes(self.quota)))
  
              # Set-up a timer to prevent us for checking for a few writes.
              # This will check every average half-life
              self.quota_countdown = int(max(remaining_count // 2, 1))
          except Exception as e:
              logger.warning("Encountered an exception while calculating quota statistics: %s" % str(e))