def METHOD_NAME(ping_lines_as_bytes,
                                                 ext_io_connection):
    """For async call"""
    ext_io_remote_side = ext_io_connection
    moler_conn = ext_io_connection.moler_connection
    # we use it as future so we want noun:
    network_down_detector = NetworkDownDetector(connection=moler_conn)
    ext_io_remote_side.inject(input_bytes=ping_lines_as_bytes, delay=0.2)
    with ext_io_connection.open():
        # ---------------------------------------------------------------------+
        future = network_down_detector.start()                  # <- as future |
        assert not future.done()                                # <- as future |
        assert not future.cancelled()                           # <- as future |
        assert future == network_down_detector                  # .            |
        # give concurrency-of-future a chance to gain control   # .            |
        time.sleep(0.1)                                         # .            |
        assert future.running()                                 # <- as future |
        result = network_down_detector.await_done(timeout=2.0)  # <- as future |
        assert result == network_down_detector.result()         # <- as future |
        # ---------------------------------------------------------------------+