Major upgrade

This commit is contained in:
Duc
2025-10-24 15:18:11 -07:00
parent fd85735c93
commit ce583d1664
478 changed files with 237518 additions and 47610 deletions

View File

@@ -17,6 +17,7 @@ UNPUBLISHED WORK - COPYRIGHT RAYTHEON COMPANY.
using System;
using System.Threading;
using NLog;
namespace Raytheon.Common
{
@@ -32,6 +33,7 @@ namespace Raytheon.Common
private AutoResetEvent _quitEvent;
private bool _threadQuitControl;
private MsgDevice.CompleteMessageCallback _completeMsgCallback;
private readonly ILogger _logger;
#endregion
#region PrivateFunctions
@@ -41,23 +43,9 @@ namespace Raytheon.Common
/// <param name="disposing"></param>
protected virtual void Dispose(bool disposing)
{
try
if (disposing)
{
if (disposing)
{
_quitEvent.Dispose();
}
}
catch (Exception err)
{
try
{
ErrorLogger.Instance().Write(err.Message + "\r\n" + err.StackTrace);
}
catch (Exception)
{
//Do not rethrow. Exception from error logger that has already been garbage collected
}
_quitEvent.Dispose();
}
}
@@ -73,6 +61,7 @@ namespace Raytheon.Common
/// <param name="dataInBufferEvent">A singal to let us know that data has arrived</param>
public MsgProcessorWorker(IMsgParser msgParser, ref DataBuffer dataBuffer, ref AutoResetEvent dataInBufferEvent)
{
_logger = LogManager.GetCurrentClassLogger();
_msgParser = msgParser;
_dataBuffer = dataBuffer;
_dataInBufferEvent = dataInBufferEvent;
@@ -93,23 +82,9 @@ namespace Raytheon.Common
/// </summary>
public void Dispose()
{
try
{
Dispose(true);
Dispose(true);
GC.SuppressFinalize(this);
}
catch (Exception err)
{
try
{
ErrorLogger.Instance().Write(err.Message + "\r\n" + err.StackTrace);
}
catch (Exception)
{
//Do not rethrow. Exception from error logger that has already been garbage collected
}
}
GC.SuppressFinalize(this);
}
/// <summary>
@@ -121,7 +96,7 @@ namespace Raytheon.Common
{
if (_completeMsgCallback == null)
{
throw new Exception("MsgProcessorWorker::DoWork() - Callback not set");
throw new Exception("Callback not set");
}
WaitHandle[] waithandles = new WaitHandle[2];
@@ -170,9 +145,9 @@ namespace Raytheon.Common
if (_msgParser.Run(payLoadPtr, numBytesLeftInTempBuffer, ref numBytesToRemove, ref msgId, ref errorCode) == true)
{
string msg = "MsgProcessorWorker::DoWork() - removing " + numBytesToRemove.ToString() + " bytes, for msg id: " + msgId.ToString("X8");
string msg = "removing " + numBytesToRemove.ToString() + " bytes, for msg id: " + msgId.ToString("X8");
ErrorLogger.Instance().Write(msg, ErrorLogger.LogLevel.INFO);
_logger.Debug(msg);
// we have a complete message, invoke the call back
_completeMsgCallback(msgId, payLoadPtr, numBytesToRemove, errorCode);
@@ -192,18 +167,18 @@ namespace Raytheon.Common
// were we signaled to quit?
if (_threadQuitControl == true)
{
ErrorLogger.Instance().Write("MsgProcessorWorker::DoWork() - in the midst of procesing data, the quit event was detected, exiting", ErrorLogger.LogLevel.INFO);
_logger.Debug("in the midst of procesing data, the quit event was detected, exiting");
isTheWorkDone = true;
}
}
}
//Check start of data back in since we are done with it
_dataBuffer.CheckInStartOfData();
}
else if (eventIndex == 1) // _quitEvent
{
ErrorLogger.Instance().Write("MsgProcessorWorker::DoWork() - quit event was detected, exiting", ErrorLogger.LogLevel.INFO);
_logger.Debug("quit event was detected, exiting");
isTheWorkDone = true;
}
else if (eventIndex == WaitHandle.WaitTimeout)
@@ -212,16 +187,11 @@ namespace Raytheon.Common
}
else
{
ErrorLogger.Instance().Write("MsgProcessorWorker::DoWork() - Unhandled return from WaitHandle.WaitAny(): " + eventIndex.ToString());
_logger.Debug(" Unhandled return from WaitHandle.WaitAny(): " + eventIndex.ToString());
}
}
ErrorLogger.Instance().Write("MsgProcessorWorker::DoWork() - exiting", ErrorLogger.LogLevel.INFO);
}
catch (Exception err)
{
ErrorLogger.Instance().Write(err.Message + "\r\n" + err.StackTrace);
}
catch { }
}
/// <summary>