Table of Contents

Class PoolBusyException

Namespace
CobaltPdf
Assembly
CobaltPdf.dll

Thrown by the render pool when MaxQueueDepth is set (> 0) and a render request arrives while every browser slot is in use and the bounded wait-queue is already full.

This is deliberate backpressure, not a failure: the work was never started, so it is always safe to retry. Hosts should translate it into a "server busy" response — HTTP 503 Service Unavailable with a Retry-After header — rather than a generic 500, so callers and load balancers know to back off and retry shortly instead of treating it as a hard error.

Never thrown when MaxQueueDepth is 0 (the default), which keeps the historical unbounded-queue behaviour.

public sealed class PoolBusyException : Exception, ISerializable
Inheritance
PoolBusyException
Implements
Inherited Members

Constructors

PoolBusyException(int, int)

Creates a new PoolBusyException describing the saturated pool.

public PoolBusyException(int maxSize, int maxQueueDepth)

Parameters

maxSize int
maxQueueDepth int

Properties

MaxQueueDepth

The configured maximum wait-queue depth that was exceeded.

public int MaxQueueDepth { get; }

Property Value

int

MaxSize

The pool's configured maximum concurrent render slots at the time of rejection.

public int MaxSize { get; }

Property Value

int