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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|