IORawDataLog.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System.Text;
  2. namespace UniversalNetFrame451.IO;
  3. public class RawDataLog : BaseFilter
  4. {
  5. private class LogData(bool IsSend, Data rawData)
  6. {
  7. public bool IsSend { get; } = IsSend;
  8. public Data RawData { get; } = rawData;
  9. }
  10. private EventQueue<LogData> _logEvent;
  11. private string _filePath;
  12. public bool Initialize(string filePath)
  13. {
  14. this._filePath = filePath;
  15. _logEvent = new(LogEvent);
  16. return true;
  17. }
  18. public override bool Receive(Data data)
  19. {
  20. this._logEvent.Enqueue(new(false, data));
  21. return base.Receive(data);
  22. }
  23. public override bool Send(Data data)
  24. {
  25. this._logEvent.Enqueue(new(true, data));
  26. Console.WriteLine("Send");
  27. return base.Send(data);
  28. }
  29. private void LogEvent(LogData data)
  30. {
  31. //Write Log Here
  32. //StringBuilder sb = new();
  33. //foreach (byte item in data.RawData.RawData)
  34. //{
  35. // sb.Append(item);
  36. // sb.Append(' ');
  37. //}
  38. //Console.WriteLine(sb);
  39. }
  40. }