public void Connect()
        {
            if (_watcher == null)
            {
                _watcher = CreateBrokerWatcher();
            }

            _watcher.Start(OnBrokerProcessStarted);
        }
 public void Disconnect()
 {
     Interlocked.Exchange(ref _disconnectRequested, 1);
     DisconnectInternal();
     if (_watcher != null)
     {
         _watcher.Stop();
         _watcher = null;
     }
 }
 public MessageBroker(ILogger logger, MessageBrokerWatcher watcher = null, int brokerPort = DefaultPort)
 {
     _logger     = logger;
     _watcher    = watcher;
     _brokerPort = brokerPort;
 }