///<summary></summary> public StatsdPerfLoggerAppender(IStatsdPerfLoggerAppenderSettings settings) { if (settings == null) throw new ArgumentNullException("settings"); _settings = settings; _queue = new TimedActionQueue<string>(SendImpl, settings.SendInterval); _threadSafeUdpClient = new ThreadSafeUdpClient( settings.Host, settings.Port, string.Format("sending to udp://{0}:{1} interval={2}\n{{0}}", _settings.Host, _settings.Port, _settings.SendInterval)); }
///<summary></summary> public void Dispose() { if (_isDisposing) { return; } _isDisposing = true; if (_threadSafeUdpClient == null) { return; } try { _threadSafeUdpClient.Dispose(); _threadSafeUdpClient = null; } catch { } }