start method

Future<void> start()

Implementation

Future<void> start() async {
  if (_isRunning) {
    return;
  }
  _isRunning = true;
  _stopController = StreamController<void>.broadcast(); // broadcast if multiple listeners, otherwise regular
  _backgroundCompleter = Completer<void>();

  // log.debug('AutoRelay starting'); // TODO: Add logging

  // Start the background process
  _background(_stopController!.stream);

  // Consider initial status check if needed, though background loop will catch first event.
  // Also, trigger an initial address update.
  _updateAndEmitAdvertisableAddrs();
}