diff --git a/abi-versions/vNEXT/README.md b/abi-versions/vNEXT/README.md index 7fc24d0..d866f37 100644 --- a/abi-versions/vNEXT/README.md +++ b/abi-versions/vNEXT/README.md @@ -1471,6 +1471,34 @@ gRPC status message can be retrieved using [`proxy_get_status`]. ### Functions exposed by the host +#### `proxy_open_kvstore` + +* params: + - `i32 (const char*) kvstore_name_data` + - `i32 (size_t) kvstore_name_size` + - `i32 (bool) create_if_not_exist` + - `i32 (uint32_t*) return_kvstore_id` +* returns: + - `i32 (`[`proxy_status_t`]`) status` + +Opens named key-value store (`kvstore_name_data`, `kvstore_name_size`). + +If `create_if_not_exist` is `true` and there is no shared key-value store with +the given name, then a new store will be created. + +Key's value can be set using `proxy_set_shared_data` and retrieved using +`proxy_get_shared_data` from the key-value store using returned unique key-value +store identifier (`return_kvstore_id`). + +Returned `status` value is: +- `OK` on success when opening existing key-value store. +- `CREATED` on success when a key-value store with the given name was created. +- `NOT_FOUND` when `create_if_not_exist` is `false` and no shared key-value + store with the given name exists. +- `INVALID_MEMORY_ACCESS` when `kvstore_name_data`, `kvstore_name_size` + and/or `return_kvstore_id` point to invalid memory address. + + #### `proxy_set_shared_data` * params: @@ -1526,6 +1554,20 @@ Returned `status` value is: point to invalid memory address. +#### `proxy_delete_kvstore` + +* params: + - `i32 (uint32_t) kvstore_id` +* returns: + - `i32 (`[`proxy_status_t`]`) status` + +Deletes previously created shared key-value store (`kvstore_id`). + +Returned `status` value is: +- `OK` on success. +- `UNKNOWN_RESOURCE_ID` for unknown `kvstore_id`. + + ## Shared Queues > **Note** @@ -2175,8 +2217,10 @@ changes to unrelated connections/requests. [`proxy_on_grpc_receive`]: #proxy_on_grpc_receive [`proxy_on_grpc_receive_trailing_metadata`]: #proxy_on_grpc_receive_trailing_metadata [`proxy_on_grpc_close`]: #proxy_on_grpc_close +[`proxy_open_kvstore`]: #proxy_open_kvstore [`proxy_set_shared_data`]: #proxy_set_shared_data [`proxy_get_shared_data`]: #proxy_get_shared_data +[`proxy_delete_kvstore`]: #proxy_delete_kvstore [`proxy_open_shared_queue`]: #proxy_open_shared_queue [`proxy_enqueue_shared_queue`]: #proxy_enqueue_shared_queue [`proxy_dequeue_shared_queue`]: #proxy_dequeue_shared_queue