Files
BitLogger/docs/api/runtime-sink-file-set-rotation.md
2026-07-17 15:53:21 +08:00

2.1 KiB

name, group, category, update-time, description, key-word
name group category update-time description key-word
runtime-sink-file-set-rotation api runtime 20260707 Update the rotation policy used by a file-backed RuntimeSink.
runtime
sink
file
public

Runtime-sink-file-set-rotation

Update the rotation policy used by a file-backed RuntimeSink.

The input FileRotation value is owned by src/file_model; this method belongs to the runtime facade layer and forwards rotation mutation through src/runtime to file-backed variants that ultimately use src/file_runtime.FileSink.

Interface

pub fn RuntimeSink::file_set_rotation(self : RuntimeSink, rotation : FileRotation?) -> Bool {

input

  • self : RuntimeSink - Runtime sink whose file rotation policy should change.
  • rotation : FileRotation? - New runtime rotation policy.

output

  • Bool - Whether the policy update was applied.

Explanation

Detailed rules explaining key parameters and behaviors

  • Plain File runtime variants update the wrapped FileSink rotation policy and return true.
  • QueuedFile runtime variants forward the update to the wrapped inner FileSink only when no queued records are pending.
  • The accepted rotation object itself is the shared @file_model.FileRotation model, not a runtime-owned concrete type.
  • Non-file runtime variants return false.
  • This helper changes policy only; it does not itself rotate or flush pending data.
  • If a queued file sink still has pending records, the update is rejected and returns false so already queued records are not later written under a different rotation policy than the one they were queued under.

Error Case

e.g.:

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

  • If a queued file sink still has pending records, callers should flush or close it first before changing rotation policy.

Notes

  1. Use this helper when runtime rotation policy should change without rebuilding the sink.

  2. On queued file sinks, clear pending records first so policy mutation does not retroactively affect already queued writes.