Files
dnsmasq-webui/src/DnsmasqWebUI/Infrastructure/Services/Logs/Abstractions/IAppLogsBuffer.cs
T
alex 2cfbaf000c Reorganise Infrastructure/Services into feature namespaces
- Move registration marker interfaces to Registration/Abstractions
- Add feature folders with Abstractions subfolders: EffectiveConfig,
  Dnsmasq/Config, Dnsmasq/Hosts, Dnsmasq/Leases, Dnsmasq/Reload,
  Logs, Updates, UI/Settings, Common/Process
- Place interfaces in each feature's Abstractions namespace; align
  implementation namespaces to folder paths
- Update Program, extensions, controllers, hubs, helpers, components,
  and tests to use new namespaces
- Remove old flat Services/Abstractions and root-level service files
2026-02-28 22:17:20 +10:00

17 lines
630 B
C#

namespace DnsmasqWebUI.Infrastructure.Services.Logs.Abstractions;
/// <summary>
/// Ring buffer of recent app log lines. Filled by ILoggerProvider, drained for SignalR push.
/// </summary>
public interface IAppLogsBuffer
{
/// <summary>Returns up to maxLines most recent lines (oldest first).</summary>
IReadOnlyList<string> GetRecent(int maxLines = 500);
/// <summary>Enqueues a formatted log line. Called by the logging provider.</summary>
void Enqueue(string line);
/// <summary>Returns and clears pending lines for streaming push. Called by pusher.</summary>
IReadOnlyList<string> DrainPending();
}