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
}

Remarks

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.

Ask on Stack Overflow - Yes, it's still active
Ask in GitHub Discussions

p102

l097 --

l102

p101

×