AuditWhenFull Enumeration
Assembly: CodeEffects.Rule.Audit.dll
Namespace: CodeEffects.Rule.Audit
Summary
Specifies what an evaluation does when an asynchronous recorder can take no more records.
Syntax
public enum AuditWhenFull
{
// The record is dropped and the evaluation goes on at once. The default
Drop = 0,
// The evaluation waits for room, however long it takes
Block = 1,
// The evaluation waits up to BlockTimeoutMilliseconds, then the record is dropped
BlockWithTimeout = 2
}
Set the policy through the WhenFull property of AuditSettings. It applies when the in-memory queue is at QueueCapacity, or the journal is at JournalCapMegabytes. Both happen only while the database falls behind or is out of reach for long. It has no effect in Synchronous mode.
With Drop, the host is told once through OnProblem (QueueFull or JournalFull), and the dropped records are counted in AuditStatistics.Dropped. Evaluations are never slowed down, and records are lost until the database catches up.
With Block, nothing is lost, but evaluations run at the pace of the database for as long as it is behind. BlockWithTimeout limits that wait: the evaluation waits up to BlockTimeoutMilliseconds for room, and the record is dropped if none appears.
The numeric values are permanent.