Local Key-Value Storage Engine¶
Purpose¶
The Local Key-Value Storage Engine provides the local storage and retrieval of data in a key-value format.
State¶
Messages received¶
GetValueKVStoreRequest¶
Find stored data by its key in the KV-store and return the value.
Reception:
Records with fields:
Storage Key
: StorageKeyV1
The key that maps to the requested value in the KV-store.
Triggers
Records with fields:
Storage Key
: StorageKeyV1
The key that maps to the requested value in the KV-store.
Storage Value
: StorageValueV1
The requested value in the KV-store.
SetValueKVStoreRequest¶
Add a piece of data to the KV store by adding its key and the corresponding value. If the key already exists, override the value.
Reception:
Records with fields:
Storage Key
: StorageKeyV1
The key that that identifies the piece of data in the KV-store.
Storage Value
: StorageValueV1
The corresponding value that needs to be added to the KV-store.
Triggers
Records with fields:
Storage Key
: StorageKeyV1
The key that that identifies the piece of data in the KV-store.
Success Operation
: SuccessOperationV1
The success of the operation, indicating that the KV-pair was stored successfully or not.
DeleteValueKVStoreRequest¶
Find a value by its key in the KV-store and delete both the key and the value.
Reception:
Records with fields:
Storage Key
: StorageKeyV1
The key that that identifies the piece of data that should be removed from the KV-store.
Triggers
Records with fields:
Storage Key
: StorageKeyV1
The key that that identifies the piece of data in the KV-store.
Success Operation
: SuccessOperationV1
The success of the operation, indicating that the KV-pair was deleted successfully or not.
Notifications sent¶
ValueChangedKVStore¶
When the value in the KV-store changes, engines interested in this information get notified.
Records with fields:
Storage Key
: StorageKeyV1
The key that that identifies the changed piece of data in the KV-store.
Storage Value
: StorageValueV1
The corresponding value that needs to be recorded in the KV-store.
Epoch Timestamp
: EpochTimestamp
The wall clock time of the moment the value was changed.
Message Flow¶
sequenceDiagram
%% --8<-- [start:sequence]
Any Local Engine ->>+ Local KV Storage Engine: GetValueKVStoreRequest
Local KV Storage Engine -->>- Any Local Engine: GetValueKVStoreResponse
Any Local Engine ->>+ Local KV Storage Engine: SetValueKVStoreRequest
Local KV Storage Engine -->>- Any Local Engine: SetValueKVStoreResponse
Any Local Engine ->>+ Local KV Storage Engine: DeleteValueKVStoreRequest
Local KV Storage Engine -->>- Any Local Engine: DeleteValueKVStoreResponse
%% --8<-- [end:sequence]