Package-level declarations

Types

Link copied to clipboard
class ArchiveTileByteSource(archive: ReadOnlyArchive, scheme: String = SLPK_SCHEME) : TileByteSource

TileByteSource that serves tile bytes from an open ReadOnlyArchive instead of the network — the transport behind both the SLPK (I3S) loader and the Cesium 3D Tiles Archive (.3dtiles/3TZ) loader.

Link copied to clipboard

Magic-bytes-based content-type dispatcher for 3D Tiles payloads.

Link copied to clipboard

Non-2xx HTTP response. Distinct from IO errors so callers can decide retry policy.

Link copied to clipboard
class HttpTileByteSource(clientFactory: () -> HttpClient = { DefaultHttpClient() }) : TileByteSource

TileByteSource over ktor — the default HTTP transport, wrapping a lazily-built DefaultHttpClient.

Link copied to clipboard
class TileByteResponse(val statusCode: Int, val bytes: ByteArray, val finalUrl: String, val contentType: String? = null, val etag: String? = null, val statusMessage: String? = null)

One fetch result — the subset of an HTTP response the queue uses. Archive sources set statusCode 200/404, finalUrl = the request uri, and null metadata.

Link copied to clipboard
interface TileByteSource

Raw byte transport for TileFetchQueue, abstracted from the inline HTTP client so the same queue (priority scheduling, earth.worldwind.layer.cache.BlobStore cache, auth, session recovery) can serve a local SLPK archive as well as remote HTTP. Auth rewrite, redirects and caching stay in the queue; this only fetches an already-rewritten URL. Archive sources: no rewrite, no redirects.

Link copied to clipboard

One in-flight (or queued) fetch for a tile's content payload. Carries enough context for the queue to prioritize, cancel, and dispatch the result back to the layer.

Link copied to clipboard
class TileFetchQueue(source: TilesetSource, parentScope: CoroutineScope, maxConcurrent: Int = 32, blobStore: BlobStore = NoOpBlobStore, byteSource: TileByteSource = HttpTileByteSource(), onAuthExpired: () -> Unit? = null)

Bounded coroutine pool for tileset.json + content payload fetches. Runs the TilesetAuthProvider rewrite before each GET; same path for root and per-tile.