Class DatabaseStatsBuffer
Keeps track of pending stats and saves them every 30 seconds.
public class DatabaseStatsBuffer : IDisposable, IHostedService, ILayoutHostedService
- Inheritance
-
DatabaseStatsBuffer
- Implements
- Inherited Members
Remarks
Usages of this class should set IsDirty and use WaitAsync and Release to synchronize on DbContext. No SwitchToMainThread(CancellationToken) function should be used inside the synchronized block.
Constructors
DatabaseStatsBuffer(IStatsDbContext, ILogger<DatabaseStatsBuffer>, ILoopTickerFactory)
public DatabaseStatsBuffer(IStatsDbContext dbContext, ILogger<DatabaseStatsBuffer> logger, ILoopTickerFactory loopTickerFactory)
Parameters
dbContextIStatsDbContextloggerILogger<DatabaseStatsBuffer>loopTickerFactoryILoopTickerFactory
Methods
Enqueue(AidRecord)
public void Enqueue(AidRecord aid)
Parameters
aidAidRecord
Enqueue(DamageRecord)
public void Enqueue(DamageRecord dmg)
Parameters
dmgDamageRecord
Enqueue(DeathRecord)
public void Enqueue(DeathRecord death)
Parameters
deathDeathRecord
Enqueue(FobItemRecord)
public void Enqueue(FobItemRecord fobItem)
Parameters
fobItemFobItemRecord
Enqueue(FobRecord)
public void Enqueue(FobRecord fob)
Parameters
fobFobRecord
FlushAsync(CancellationToken)
public Task FlushAsync(CancellationToken token = default)
Parameters
tokenCancellationToken
Returns
FlushAsyncNoLock(CancellationToken)
public Task FlushAsyncNoLock(CancellationToken token)
Parameters
tokenCancellationToken