IORawDataLog.cs 795 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. namespace Universal.IO;
  2. public class RawDataLog : BaseFilter
  3. {
  4. private class LogData(bool IsSend, Data rawData)
  5. {
  6. public bool IsSend { get; } = IsSend;
  7. public Data RawData { get; } = rawData;
  8. }
  9. private EventQueue<LogData>? _logEvent;
  10. private string? _filePath;
  11. public bool Initialize(string filePath)
  12. {
  13. _filePath = filePath;
  14. _logEvent = new(LogEvent);
  15. return true;
  16. }
  17. public override bool Receive(Data data)
  18. {
  19. _logEvent?.Enqueue(new(false, data));
  20. return base.Receive(data);
  21. }
  22. public override bool Send(Data data)
  23. {
  24. _logEvent?.Enqueue(new(true, data));
  25. return base.Send(data);
  26. }
  27. private void LogEvent(LogData data)
  28. {
  29. //Write Log Here
  30. }
  31. }