Table of Contents

Class DatabaseStatsBuffer

Namespace
Uncreated.Warfare.Stats
Assembly
Uncreated.Warfare.dll

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

dbContext IStatsDbContext
logger ILogger<DatabaseStatsBuffer>
loopTickerFactory ILoopTickerFactory

Methods

Enqueue(AidRecord)

public void Enqueue(AidRecord aid)

Parameters

aid AidRecord

Enqueue(DamageRecord)

public void Enqueue(DamageRecord dmg)

Parameters

dmg DamageRecord

Enqueue(DeathRecord)

public void Enqueue(DeathRecord death)

Parameters

death DeathRecord

Enqueue(FobItemRecord)

public void Enqueue(FobItemRecord fobItem)

Parameters

fobItem FobItemRecord

Enqueue(FobRecord)

public void Enqueue(FobRecord fob)

Parameters

fob FobRecord

FlushAsync(CancellationToken)

public Task FlushAsync(CancellationToken token = default)

Parameters

token CancellationToken

Returns

Task

FlushAsyncNoLock(CancellationToken)

public Task FlushAsyncNoLock(CancellationToken token)

Parameters

token CancellationToken

Returns

Task