Skip to content

Runtime-sink-file-policy-matches-default ​

Read whether the current runtime file policy still matches the default policy of a RuntimeSink. This helper is useful for detecting operational drift on direct sink values.

Interface ​

moonbit
pub fn RuntimeSink::file_policy_matches_default(self : RuntimeSink) -> Bool {

input ​

  • self : RuntimeSink - Runtime sink whose runtime policy drift should be checked.

output ​

  • Bool - Whether the current runtime file policy still matches the default.

Explanation ​

Detailed rules explaining key parameters and behaviors

  • Plain File runtime variants compare current runtime file policy against their stored defaults.
  • QueuedFile runtime variants forward the comparison from the wrapped inner FileSink.
  • Non-file runtime variants return false.
  • This helper is a compact drift signal when callers do not need to compare full policy objects directly.

How to Use ​

Here are some specific examples provided.

When Need Drift Detection ​

When diagnostics should report whether file policy changed after startup:

moonbit
let unchanged = sink.file_policy_matches_default()

In this example, the runtime sink exposes whether runtime file policy still matches the baseline.

When Gate Reset Logic ​

When code should only reset policy if drift exists:

moonbit
if !sink.file_policy_matches_default() {
  ignore(sink.file_reset_policy())
}

In this example, policy reset only happens when runtime state diverged from defaults.

Error Case ​

e.g.:

  • If the runtime sink is not file-backed, the method returns false.

  • If callers need the exact differences instead of a boolean drift signal, they should inspect both file_policy() and file_default_policy().

Notes ​

  1. Use this helper for compact runtime policy drift checks.

  2. It is especially useful before calling reset-style operations.

Published from the repository docs folder with VitePress.