code: def handle_log_data_missing(self):
          '''handling missing incoming log data'''
          if len(self.download_set) == 0:
              return
          highest = max(self.download_set)
          diff = set(range(highest)).difference(self.download_set)
          if len(diff) == 0:
              self.master.mav.log_request_data_send(self.target_system,
                                                         self.target_component,
                                                         self.download_lognum, (1 + highest) * 90, 0xffffffff)
              self.retries += 1
          else:
              num_requests = 0
              while num_requests < 20:
                  start = min(diff)
                  diff.remove(start)
                  end = start
                  while end + 1 in diff:
                      end += 1
                      diff.remove(end)
                  self.master.mav.log_request_data_send(self.target_system,
                                                             self.target_component,
                                                             self.download_lognum, start * 90, (end + 1 - start) * 90)
                  num_requests += 1
                  self.retries += 1
                  if len(diff) == 0:
                      breaf handle_log_data_missing(self):
          '''handling missing incoming log data'''
          if len(self.download_set) == 0:
              return
          highest = max(self.download_set)
          diff = set(range(highest)).difference(self.download_set)
          if len(diff) == 0:
              self.master.mav.log_request_data_send(self.target_system,
                                                         self.target_component,
                                                         self.download_lognum, (1 + highest) * 90, 0xffffffff)
              self.retries += 1
          else:
              num_requests = 0
              while num_requests < 20:
                  start = min(diff)
                  diff.remove(start)
                  end = start
                  while end + 1 in diff:
                      end += 1
                      diff.remove(end)
                  self.master.mav.log_request_data_send(self.target_system,
                                                             self.target_component,
                                                             self.download_lognum, start * 90, (end + 1 - start) * 90)
                  num_requests += 1
                  self.retries += 1
                  if len(diff) == 0:
                      break
docs: handling missing incoming log data