diff --git a/README.md b/README.md index 7a3b673..2d1feed 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,8 @@ This proposal was inspired by Dapr's [State API] [State API](https://docs.dapr.io/developing-applications/building-blocks/state-management/) ### Change log - +- 2025-03-29: + - Modified `atomics` interface signature - 2024-03-29: - Simplified interfaces to 3 key pieces of functionality: store, atomics, and batch. Also removed the use of streams to simplify the starting point of the API diff --git a/imports.md b/imports.md index ca31a78..28536b7 100644 --- a/imports.md +++ b/imports.md @@ -9,13 +9,13 @@ Components targeting this world will be able to do:
wasi:keyvalue/store@0.2.0-draft2wasi:keyvalue/atomics@0.2.0-draft2wasi:keyvalue/batch@0.2.0-draft2wasi:keyvalue/store@0.2.0-draft3wasi:keyvalue/atomics@0.2.0-draft3wasi:keyvalue/batch@0.2.0-draft3A keyvalue interface that provides eventually consistent key-value operations.
Each of these operations acts on a single key-value pair.
The value in the key-value pair is defined as a u8 byte array and the intention is that it is
@@ -178,7 +178,7 @@ for more information.
key-response, error>A keyvalue interface that provides atomic operations.
Atomic operations are single, indivisible operations. When a fault causes an atomic operation to fail, it will appear to the invoker of the atomic operation that the action either completed @@ -226,16 +226,17 @@ latest version or transaction.
-[method]cas.current: funcGet the current value of the key (if it exists). This allows for avoiding reads if all -that is needed to ensure the atomicity of the operation
+[static]cas.new_with_read: funcConstruct a new CAS operation returning the current value. Implementors can map the underlying functionality +(transactions, versions, etc) as desired.
increment: funcAtomically increment the value associated with the key in the store by the given delta. It @@ -265,7 +266,7 @@ the CAS operation failed.
cas-error>A keyvalue interface that provides batch operations.
A batch operation is an operation that operates on multiple keys at once.
Batch operations are useful for reducing network round-trip time. For example, if you want to diff --git a/watch-service.md b/watch-service.md index a65115a..c144319 100644 --- a/watch-service.md +++ b/watch-service.md @@ -2,18 +2,18 @@
wasi:keyvalue/store@0.2.0-draft2wasi:keyvalue/atomics@0.2.0-draft2wasi:keyvalue/batch@0.2.0-draft2wasi:keyvalue/store@0.2.0-draft3wasi:keyvalue/atomics@0.2.0-draft3wasi:keyvalue/batch@0.2.0-draft3wasi:keyvalue/watcher@0.2.0-draft2wasi:keyvalue/watcher@0.2.0-draft3A keyvalue interface that provides eventually consistent key-value operations.
Each of these operations acts on a single key-value pair.
The value in the key-value pair is defined as a u8 byte array and the intention is that it is
@@ -176,7 +176,7 @@ for more information.
key-response, error>A keyvalue interface that provides atomic operations.
Atomic operations are single, indivisible operations. When a fault causes an atomic operation to fail, it will appear to the invoker of the atomic operation that the action either completed @@ -224,16 +224,17 @@ latest version or transaction.
-[method]cas.current: funcGet the current value of the key (if it exists). This allows for avoiding reads if all -that is needed to ensure the atomicity of the operation
+[static]cas.new_with_read: funcConstruct a new CAS operation returning the current value. Implementors can map the underlying functionality +(transactions, versions, etc) as desired.
increment: funcAtomically increment the value associated with the key in the store by the given delta. It @@ -263,7 +264,7 @@ the CAS operation failed.
cas-error>A keyvalue interface that provides batch operations.
A batch operation is an operation that operates on multiple keys at once.
Batch operations are useful for reducing network round-trip time. For example, if you want to @@ -342,7 +343,7 @@ fail.
error>type bucket