Skip to content

08. Plugins

EnekoGonzalez3 edited this page Sep 25, 2025 · 5 revisions

Plugins in ChronoLog are lightweight native interfaces that sit on top of the storage layer.
They provide higher-level abstractions that make it easier for applications to interact with ChronoLog without working directly with the low-level API.
By doing so, plugins extend ChronoLog’s capabilities and allow existing systems to adopt it with minimal changes, while still benefiting from its time-structured, multi-tiered data model.

8.1 ChronoKVS

Description

ChronoKVS turns ChronoLog into a multi-version key-value store (MV-KVS).
It allows storing, retrieving, and auditing key-value pairs with full version history, enabling temporal queries and state reconstruction at any point in time.

API

std::uint64_t put(const std::string &key, const std::string &value);

Stores a key-value pair and returns the timestamp assigned to it.

std::string get(const std::string &key, uint64_t timestamp);

Retrieves the value of a key at the given timestamp.

std::vector<EventData> get_history(const std::string &key);

Returns the complete historical sequence of values for a key.

Clone this wiki locally