One of these protocols must be implemented by each store to provide low level access depending on the low-level storage layout chosen. Stores can support multiple layouts.
One of these protocols must be implemented by each store to provide low level access depending on the low-level storage layout chosen. Stores can support multiple layouts.
(create-header version serializer compressor encryptor meta)
Return Byte Array with following content 1th Byte = Storage layout used 2th Byte = Serializer Type 3th Byte = Compressor Type 4th Byte = Encryptor Type 5-8th Byte = Meta-Size 9th-20th Byte are spare
Return Byte Array with following content 1th Byte = Storage layout used 2th Byte = Serializer Type 3th Byte = Compressor Type 4th Byte = Encryptor Type 5-8th Byte = Meta-Size 9th-20th Byte are spare
(parse-header header-bytes serializers)
Inverse function to create-header. serializers are a map of serializer-id to instance that are potentially initialized with custom handlers by the store user. We assume compressors and encryptors to use system-wide standard configurations.
Inverse function to create-header. serializers are a map of serializer-id to instance that are potentially initialized with custom handlers by the store user. We assume compressors and encryptors to use system-wide standard configurations.
Blob object that is backing a stored value and its metadata.
Blob object that is backing a stored value and its metadata.
(-read-binary this meta-size locked-cb env)
Read binary object and pass to locked-cb.
Read binary object and pass to locked-cb.
(-get-lock this env)
Acquire a store specific lock on the blob. This is needed for access to the store from concurrent processes.
Acquire a store specific lock on the blob. This is needed for access to the store from concurrent processes.
(-read-meta this meta-size env)
Read metadata array.
Read metadata array.
(-sync this env)
Synchronize this object and ensure it is stored. This is not necessary in many stores.
Synchronize this object and ensure it is stored. This is not necessary in many stores.
(-read-header this env)
Read header array.
Read header array.
(-close this env)
Close the blob and ensure that pending data is send to the store.
Close the blob and ensure that pending data is send to the store.
(-write-meta this meta-arr env)
Write metadata array.
Write metadata array.
(-write-value this value-arr meta-size env)
Write value array.
Write value array.
(-read-value this meta-size env)
Read serialized edn value array.
Read serialized edn value array.
(-write-header this header-arr env)
Write header array.
Write header array.
(-write-binary this meta-size blob env)
Write binary blob.
Write binary blob.
(-release this env)
Release this lock.
Release this lock.
Backing store protocol for default implementation of the high-level konserve protocol.
Backing store protocol for default implementation of the high-level konserve protocol.
(-copy this from to env)
Copy a blob from one key to another.
Copy a blob from one key to another.
(-handle-foreign-key this
migration-key
serializer
read-handlers
write-handlers
env)
Handle keys not recognized by the current konserve version.
Handle keys not recognized by the current konserve version.
(-create-blob this store-key env)
Create a blob object to write a metadata and value into.
Create a blob object to write a metadata and value into.
(-create-store this env)
Create the underlying store.
Create the underlying store.
(-migratable this key store-key env)
Check if blob exists elsewhere and return a migration key or nil.
Check if blob exists elsewhere and return a migration key or nil.
(-keys this env)
List all the keys representing blobs in the store.
List all the keys representing blobs in the store.
(-delete-store this env)
Delete the underlying store.
Delete the underlying store.
(-blob-exists? this store-key env)
Check whether blob exists under path
Check whether blob exists under path
(-store-exists? this env)
Check if underlying store already exists.
Check if underlying store already exists.
(-sync-store this env)
Synchronize the store. This is only needed if your store does not guarantee durability without this synchronisation command, e.g. fsync in the file system.
Synchronize the store. This is only needed if your store does not guarantee durability without this synchronisation command, e.g. fsync in the file system.
(-atomic-move this from to env)
Atomically move (rename) a blob.
Atomically move (rename) a blob.
(-migrate this
migration-key
key-vec
serializer
read-handlers
write-handlers
env)
Use the key returned from -migratable to import blob for key-vec.
Use the key returned from -migratable to import blob for key-vec.
(-delete-blob this store-key env)
Delete a blob object under path.
Delete a blob object under path.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close