private void SendRecentEvents(Socket socket) { Queue <TcpAppender.RenderedLoggingEvent> renderedLoggingEvents = new Queue <TcpAppender.RenderedLoggingEvent>(this._recentEvents); while (renderedLoggingEvents.Count > 0 && !this._stopWorkerThread) { try { TcpAppender.RenderedLoggingEvent renderedLoggingEvent = renderedLoggingEvents.Dequeue(); byte[] bytes = this.Encoding.GetBytes(renderedLoggingEvent.RenderedEvent); socket.Send(bytes); } catch (Exception exception1) { Exception exception = exception1; this.ErrorHandler.Error(string.Format("Unable to send logging event to RemotingServerAppender at port {0}.", this._localPort), exception, ErrorCode.WriteFailure); } } }
private void CleanupRecentEvents() { if (!this.IsActive) { return; } if (this._recentEvents.Count > 0 && (DateTime.Now - this._lastCleanupTime).TotalSeconds > 1) { this._lastCleanupTime = DateTime.Now; DateTime dateTime = this._lastCleanupTime.AddSeconds(-5); while (this._recentEvents.Count > 0) { TcpAppender.RenderedLoggingEvent renderedLoggingEvent = this._recentEvents.Peek(); if (renderedLoggingEvent != null && dateTime < renderedLoggingEvent.TimeStamp) { return; } this._recentEvents.Dequeue(); } } }