Skip to content

Commit cf2d0bb

Browse files
committed
fix: add backpressure and task lifecycle
Signed-off-by: Gordon Smith <GordonJSmith@gmail.com>
1 parent 7e85a21 commit cf2d0bb

4 files changed

Lines changed: 607 additions & 26 deletions

File tree

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,7 @@ This repository contains a C++ ABI implementation of the WebAssembly Component M
3434
- [x] F32
3535
- [x] F64
3636
- [x] Char
37-
- [x] String
38-
- [x] utf8 String
39-
- [x] utf16 String
40-
- [x] latin1+utf16 String
37+
- [x] Strings (UTF-8, UTF-16, Latin-1+UTF-16)
4138
- [x] List
4239
- [x] Record
4340
- [x] Tuple
@@ -46,6 +43,8 @@ This repository contains a C++ ABI implementation of the WebAssembly Component M
4643
- [x] Option
4744
- [x] Result
4845
- [x] Flags
46+
- [x] Streams (readable/writable)
47+
- [x] Futures (readable/writable)
4948
- [ ] Own
5049
- [ ] Borrow
5150

@@ -181,6 +180,8 @@ The canonical Component Model runtime is cooperative: hosts must drive pending w
181180
- `FuncInst` is the callable signature hosts use to wrap guest functions.
182181
- `Thread::create` builds a pending task with user-supplied readiness/resume callbacks.
183182
- `Call::from_thread` returns a cancellation-capable handle to the caller.
183+
- `Task` coordinates canonical backpressure, `canon_task.{return,cancel}`, and `canon_yield` helpers exposed through `context.hpp`.
184+
- `canon_backpressure_{set,inc,dec}` update in-flight counters; most canonical entry points now guard `ComponentInstance::may_leave` before touching guest state.
184185

185186
Typical usage:
186187

0 commit comments

Comments
 (0)