Skip to content

Commit 3edd9a9

Browse files
committed
Combine proxy_{register,resolve}_shared_queue into proxy_open_shared_queue.
While there, add proxy_delete_shared_queue. Signed-off-by: Piotr Sikora <code@piotrsikora.dev>
1 parent a4f364f commit 3edd9a9

1 file changed

Lines changed: 21 additions & 32 deletions

File tree

abi-versions/vNEXT/README.md

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1569,43 +1569,20 @@ Returned `status` value is:
15691569

15701570
### Functions exposed by the host
15711571

1572-
#### `proxy_register_shared_queue`
1572+
#### `proxy_open_shared_queue`
15731573

15741574
* params:
1575-
- `i32 (const char *) name_data`
1576-
- `i32 (size_t) name_size`
1575+
- `i32 (const char *) queue_name_data`
1576+
- `i32 (size_t) queue_name_size`
1577+
- `i32 (bool) create_if_not_exist`
15771578
- `i32 (uint32_t *) return_queue_id`
15781579
* returns:
15791580
- `i32 (`[`proxy_status_t`]`) status`
15801581

1581-
Registers shared queue under a name (`name_data`, `name_size`).
1582+
Opens named queue (`queue_name_data`, `queue_name_size`).
15821583

1583-
If the named queue already exists, then it's going to be opened
1584-
instead of creating a new empty queue.
1585-
1586-
Items can be enqueued/dequeued on the created/opened queue using
1587-
[`proxy_enqueue_shared_queue`] and/or [`proxy_dequeue_shared_queue`]
1588-
with `return_queue_id`.
1589-
1590-
Returned `status` value is:
1591-
- `OK` on success.
1592-
- `INVALID_MEMORY_ACCESS` when `name_data`, `name_size`
1593-
and/or `return_queue_id` point to invalid memory address.
1594-
1595-
1596-
#### `proxy_resolve_shared_queue`
1597-
1598-
* params:
1599-
- `i32 (const char *) vm_id_data`
1600-
- `i32 (size_t) vm_id_size`
1601-
- `i32 (const char *) name_data`
1602-
- `i32 (size_t) name_size`
1603-
- `i32 (uint32_t *) return_queue_id`
1604-
* returns:
1605-
- `i32 (`[`proxy_status_t`]`) status`
1606-
1607-
Resolves existing shared queue using the provided VM ID (`vm_id_data`,
1608-
`vm_id_size`) and name (`name_data`, `name_size`).
1584+
If `create_if_not_exist` is `true` and there is no shared queue with
1585+
that name, then it will be created.
16091586

16101587
Items can be enqueued/dequeued on the opened queue using
16111588
[`proxy_enqueue_shared_queue`] and/or [`proxy_dequeue_shared_queue`]
@@ -1657,6 +1634,18 @@ Returned `status` value is:
16571634
and/or `return_value_size` point to invalid memory address.
16581635

16591636

1637+
#### `proxy_delete_shared_queue`
1638+
1639+
* params:
1640+
- `i32 (uint32_t) queue_id`
1641+
* returns:
1642+
- `i32 (`[`proxy_status_t`]`) status`
1643+
1644+
Deletes previously created shared queue (`queue_id`).
1645+
- `OK` on success.
1646+
- `UNKNOWN_RESOURCE_ID` for unknown `queue_id`.
1647+
1648+
16601649
### Callbacks exposed by the Wasm module
16611650

16621651
#### `proxy_on_queue_ready`
@@ -2221,10 +2210,10 @@ changes to unrelated connections/requests.
22212210
[`proxy_on_grpc_close`]: #proxy_on_grpc_close
22222211
[`proxy_set_shared_data`]: #proxy_set_shared_data
22232212
[`proxy_get_shared_data`]: #proxy_get_shared_data
2224-
[`proxy_register_shared_queue`]: #proxy_register_shared_queue
2225-
[`proxy_resolve_shared_queue`]: #proxy_resolve_shared_queue
2213+
[`proxy_open_shared_queue`]: #proxy_open_shared_queue
22262214
[`proxy_enqueue_shared_queue`]: #proxy_enqueue_shared_queue
22272215
[`proxy_dequeue_shared_queue`]: #proxy_dequeue_shared_queue
2216+
[`proxy_delete_shared_queue`]: #proxy_delete_shared_queue
22282217
[`proxy_on_queue_ready`]: #proxy_on_queue_ready
22292218
[`proxy_define_metric`]: #proxy_define_metric
22302219
[`proxy_record_metric`]: #proxy_record_metric

0 commit comments

Comments
 (0)