GpkgBlobStore

class GpkgBlobStore : BlobStore

GeoPackage-backed BlobStore following the OGC 3D Tiles GeoPackage Extension shape: one SQLite table per dataset, registered in gpkg_contents (data_type='3d-tiles') and gpkg_extensions (gpkg_3d_tiles). Row schema is GpkgBlobRow; the table lifecycle is owned by earth.worldwind.formats.gpkg.GpkgContentManager.openBlobStore.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Functions

Link copied to clipboard
open suspend override fun clear()

Drop every entry. Schema is preserved so subsequent puts succeed.

Link copied to clipboard
suspend fun evict()

Run the evictionPolicy sweep. Chunked DELETE + yield so a large trim doesn't hold the SQLite connection for tens of seconds. staleAfter is refresh-only — only CachePolicy.maxEntries evicts.

Link copied to clipboard
open suspend override fun get(uri: String): BlobEntry?

Fetch a previously-stored blob. Null when uri is not in the cache.

Link copied to clipboard
abstract suspend fun put(uri: String, bytes: ByteArray, contentType: String? = null, etag: String? = null, lastModified: kotlin/time/Instant?? = null, responseUrl: String? = null)

Persist or replace the blob for uri. contentType is whatever the server returned (e.g. application/octet-stream, model/gltf-binary); null when unknown. etag and lastModified are conditional-fetch metadata the layer can consult on a future revalidation request. responseUrl is the post-redirect URL the body was actually served from — replayed via BlobEntry.responseUrl on cache hits so callers can resolve relative URIs against the body's true origin. Null when same as uri / unknown.

open suspend override fun put(uri: String, bytes: ByteArray, contentType: String?, etag: String?, lastModified: ERROR CLASS: Symbol not found for Instant??, responseUrl: String?)
Link copied to clipboard
open suspend override fun remove(uri: String)

Drop one entry. No-op when uri is absent.

Link copied to clipboard
open suspend override fun sizeBytes(): Long

Total stored payload size in bytes. Excludes metadata + schema overhead; close approximation suitable for budget reporting, not exact accounting.