using System.Collections.Concurrent; using System.Collections.Generic; using WingsAPI.Data.Families; namespace Plugin.FamilyImpl.Logs { public class FamilyLogManager : IFamilyLogManager { private readonly ConcurrentQueue _familyBufferForLogs = new(); public void SaveLogToBuffer(FamilyLogDto log) { _familyBufferForLogs.Enqueue(log); } public IReadOnlyList GetFamilyLogsInBuffer() { if (_familyBufferForLogs.IsEmpty) { return null; } var list = new List(); while (_familyBufferForLogs.TryDequeue(out FamilyLogDto log)) { list.Add(log); } return list; } } }