Files
BitLogger/docs/api/queue-config-type.md
T
2026-06-13 21:21:20 +08:00

2.2 KiB

name, group, category, update-time, description, key-word
name group category update-time description key-word
queue-config-type api config 20260613 Public queue config alias used for serializable synchronous queue wrapping settings.
queue
config
alias
public

Queue-config-type

QueueConfig is the public serializable config type used to describe synchronous queue wrapping. It is a direct alias to the queue config model used by sync logger configuration, parsers, and queue config serializers.

Interface

pub type QueueConfig = @utils.QueueConfig

output

  • QueueConfig - Public queue config object containing max_pending and overflow.

Explanation

Detailed rules explaining key parameters and behaviors

  • This is a type alias, not a runtime queue instance.
  • The current fields are max_pending : Int and overflow : QueueOverflowPolicy.
  • QueueConfig::new(...) constructs this type as the normal handwritten entry point.
  • queue_config_to_json(...) and stringify_queue_config(...) serialize the same public config shape for tooling or persistence.

How to Use

Here are some specific examples provided.

When Need A Typed Queue Policy Value

When synchronous queue behavior should be carried as config instead of attached immediately to a logger:

let queue : QueueConfig = QueueConfig::new(32, overflow=QueueOverflowPolicy::DropOldest)

In this example, the queue policy stays as one typed value that can be embedded into larger config objects later.

When Need To Inspect Or Export Queue Settings

When queue wrapping policy should be serialized or logged before build time:

let queue = QueueConfig::new(8)
println(stringify_queue_config(queue, pretty=true))

In this example, the same public config type supports both inspection and later runtime assembly.

Error Case

e.g.:

  • QueueConfig itself does not have a runtime failure mode.

  • If queue config is never attached to a LoggerConfig, it remains valid data but has no effect on built runtime loggers.

Notes

  1. Use QueueConfig::new(...) when you need a value of this type in code.

  2. Use QueuedSink or Logger::with_queue(...) when you need direct runtime queue composition instead of config data.