KdrantConfig

class KdrantConfig(val host: String, val port: Int, val apiKey: String? = null, val useTls: Boolean = false, val requestTimeout: Duration = 30.seconds, val connectTimeout: Duration? = null, val socketTimeout: Duration? = null, val maxRetries: Int = 3, val retryBaseDelay: Duration = 500.milliseconds, val retryMaxDelay: Duration = 5.seconds, val dispatcher: CoroutineDispatcher = Dispatchers.IO)

Resolved, immutable connection configuration for a Kdrant client.

Constructors

Link copied to clipboard
constructor(host: String, port: Int, apiKey: String? = null, useTls: Boolean = false, requestTimeout: Duration = 30.seconds, connectTimeout: Duration? = null, socketTimeout: Duration? = null, maxRetries: Int = 3, retryBaseDelay: Duration = 500.milliseconds, retryMaxDelay: Duration = 5.seconds, dispatcher: CoroutineDispatcher = Dispatchers.IO)

Properties

Link copied to clipboard

API key sent as the api-key header; null disables auth.

Link copied to clipboard

timeout for establishing a connection; null uses the engine default.

Link copied to clipboard
val dispatcher: CoroutineDispatcher

dispatcher the client runs on; injectable for tests.

Link copied to clipboard

Qdrant host.

Link copied to clipboard

how many times to retry a retryable failure (HTTP 429/502/503/504 and transient I/O errors) with exponential backoff + jitter. 0 disables retries.

Link copied to clipboard
val port: Int

Qdrant port (1..65535).

Link copied to clipboard

per-request timeout (applies to each attempt).

Link copied to clipboard

base delay before the first retry; each subsequent retry backs off exponentially, capped at retryMaxDelay. The server's Retry-After is honored when present.

Link copied to clipboard

upper bound on a single retry delay.

Link copied to clipboard

maximum idle time between two data packets on an open connection; null uses the engine default.

Link copied to clipboard

use HTTPS instead of HTTP.

Functions

Link copied to clipboard
open override fun toString(): String

Renders the config without exposing apiKey, so it is safe to log.