code: def initiate_sniff(self, initial=False):
          
          if self.sniffing_task and self.sniffing_task.done():
              try:
                  if self.sniffing_task is not None:
                      self.sniffing_task.result()
              except:
                  if self.raise_on_sniff_error:
                      raise
              finally:
                  self.sniffing_task = None
  
          if self.sniffing_task is None:
              self.sniffing_task = ensure_future(self.sniff_hosts(initial), loop=self.loop)
docs: Initiate a sniffing task. Make sure we only have one sniff request
          running at any given time. If a finished sniffing request is around,
          collect its result (which can raise its exception).