void.cat/VoidCat/Services/Stats/AggregateStatsCollector.cs

30 lines
727 B
C#
Raw Normal View History

2022-02-16 23:19:31 +00:00
using VoidCat.Services.Abstractions;
2022-02-21 22:35:06 +00:00
namespace VoidCat.Services.Stats;
2022-02-16 23:19:31 +00:00
public class AggregateStatsCollector : IAggregateStatsCollector
{
private readonly IEnumerable<IStatsCollector> _collectors;
public AggregateStatsCollector(IEnumerable<IStatsCollector> collectors)
{
_collectors = collectors;
}
public async ValueTask TrackIngress(Guid id, ulong amount)
{
foreach (var collector in _collectors)
{
await collector.TrackIngress(id, amount);
}
}
public async ValueTask TrackEgress(Guid id, ulong amount)
{
foreach (var collector in _collectors)
{
await collector.TrackEgress(id, amount);
}
}
}