diff --git a/abi-versions/vNEXT/README.md b/abi-versions/vNEXT/README.md index 1a0f9be..7fc24d0 100644 --- a/abi-versions/vNEXT/README.md +++ b/abi-versions/vNEXT/README.md @@ -1534,51 +1534,30 @@ Returned `status` value is: ### Functions exposed by the host -#### `proxy_register_shared_queue` +#### `proxy_open_shared_queue` * params: - - `i32 (const char *) name_data` - - `i32 (size_t) name_size` + - `i32 (const char *) queue_name_data` + - `i32 (size_t) queue_name_size` + - `i32 (bool) create_if_not_exist` - `i32 (uint32_t *) return_queue_id` * returns: - `i32 (`[`proxy_status_t`]`) status` -Registers shared queue under a name (`name_data`, `name_size`). - -If the named queue already exists, then it's going to be opened -instead of creating a new empty queue. - -Items can be enqueued/dequeued on the created/opened queue using -[`proxy_enqueue_shared_queue`] and/or [`proxy_dequeue_shared_queue`] -with `return_queue_id`. - -Returned `status` value is: -- `OK` on success. -- `INVALID_MEMORY_ACCESS` when `name_data`, `name_size` - and/or `return_queue_id` point to invalid memory address. - - -#### `proxy_resolve_shared_queue` - -* params: - - `i32 (const char *) vm_id_data` - - `i32 (size_t) vm_id_size` - - `i32 (const char *) name_data` - - `i32 (size_t) name_size` - - `i32 (uint32_t *) return_queue_id` -* returns: - - `i32 (`[`proxy_status_t`]`) status` +Opens named queue (`queue_name_data`, `queue_name_size`). -Resolves existing shared queue using the provided VM ID (`vm_id_data`, -`vm_id_size`) and name (`name_data`, `name_size`). +If `create_if_not_exist` is `true` and there is no shared queue with +the given name, then it will be created. Items can be enqueued/dequeued on the opened queue using [`proxy_enqueue_shared_queue`] and/or [`proxy_dequeue_shared_queue`] with `return_queue_id`. Returned `status` value is: -- `OK` on success. -- `NOT_FOUND` when the requested queue was not found. +- `OK` on success when opening existing queue. +- `CREATED` on success when a queue with the given name was created. +- `NOT_FOUND` when `create_if_not_exist` is `false` and no shared queue + with the given name exists. - `INVALID_MEMORY_ACCESS` when `vm_id_data`, `vm_id_size`, `name_data`, `name_size` and/or `return_queue_id` point to invalid memory address. @@ -1622,6 +1601,18 @@ Returned `status` value is: and/or `return_value_size` point to invalid memory address. +#### `proxy_delete_shared_queue` + +* params: + - `i32 (uint32_t) queue_id` +* returns: + - `i32 (`[`proxy_status_t`]`) status` + +Deletes previously created shared queue (`queue_id`). +- `OK` on success. +- `UNKNOWN_RESOURCE_ID` for unknown `queue_id`. + + ### Callbacks exposed by the Wasm module #### `proxy_on_queue_ready` @@ -2048,6 +2039,7 @@ changes to unrelated connections/requests. - `INTERNAL_FAILURE` = `10` - `UNIMPLEMENTED` = `12` - `UNKNOWN_RESOURCE_ID` = `13` +- `CREATED` = `14` #### `proxy_action_t` @@ -2185,10 +2177,10 @@ changes to unrelated connections/requests. [`proxy_on_grpc_close`]: #proxy_on_grpc_close [`proxy_set_shared_data`]: #proxy_set_shared_data [`proxy_get_shared_data`]: #proxy_get_shared_data -[`proxy_register_shared_queue`]: #proxy_register_shared_queue -[`proxy_resolve_shared_queue`]: #proxy_resolve_shared_queue +[`proxy_open_shared_queue`]: #proxy_open_shared_queue [`proxy_enqueue_shared_queue`]: #proxy_enqueue_shared_queue [`proxy_dequeue_shared_queue`]: #proxy_dequeue_shared_queue +[`proxy_delete_shared_queue`]: #proxy_delete_shared_queue [`proxy_on_queue_ready`]: #proxy_on_queue_ready [`proxy_define_metric`]: #proxy_define_metric [`proxy_record_metric`]: #proxy_record_metric