//========================================= // Stoppable //========================================= public override void Stop() { Logger.Info($"DIRECTORY: stopping on node: {_localNode}"); StopProcessing(); _publisher?.Close(); base.Stop(); }
private void StopProcessing() { _stopped = true; if (_publisher != null) { try { _publisher.Close(); } catch { // ignore } finally { _publisher = null; } } if (_cancellableMessageProcessing != null) { try { _cancellableMessageProcessing.Cancel(); } catch { // ignore } finally { _cancellableMessageProcessing = null; } } if (_cancellablePublishing != null) { try { _cancellablePublishing.Cancel(); } catch { // ignore } finally { _cancellablePublishing = null; } } }