forked from WebAssembly/wasi-keyvalue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
world.wit
35 lines (29 loc) · 1.02 KB
/
world.wit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package wrpc:keyvalue@0.2.0-draft;
/// The `wrpc:keyvalue/imports` world provides common APIs for interacting with key-value stores.
/// Components targeting this world will be able to do:
///
/// 1. CRUD (create, read, update, delete) operations on key-value stores.
/// 2. Atomic `increment` and CAS (compare-and-swap) operations.
/// 3. Batch operations that can reduce the number of round trips to the network.
world imports {
/// The `store` capability allows the component to perform eventually consistent operations on
/// the key-value store.
import store;
/// The `atomic` capability allows the component to perform atomic / `increment` and CAS
/// (compare-and-swap) operations.
import atomics;
/// The `batch` capability allows the component to perform eventually consistent batch
/// operations that can reduce the number of round trips to the network.
import batch;
}
world watch-service {
include imports;
export watcher;
}
world client {
include imports;
}
world server {
export atomics;
export store;
}