@@ -221,6 +221,11 @@ call the `task.backpressure` built-in to set a "backpressure" flag that causes
221
221
subsequent export calls to immediately return in the [ starting] ( #starting )
222
222
state without calling the component's Core WebAssembly code.
223
223
224
+ Once backpressure is enabled, the current task can [ wait] ( #waiting ) for
225
+ existing tasks to finish and release their associated resources. Thus, a task
226
+ can [ wait] ( #waiting ) with or without backpressure, depending on whether it
227
+ wants to accept new accept new export calls while waiting or not.
228
+
224
229
See the [ ` canon_task_backpressure ` ] function and [ ` Task.enter ` ] method in the
225
230
Canonical ABI explainer for the setting and implementation of backpressure.
226
231
@@ -233,9 +238,9 @@ arguments and must instead call an imported [`task.start`] built-in to lower
233
238
and receive its arguments.
234
239
235
240
The main reason to have ` task.start ` is so that an overloaded component can
236
- [ wait ] ( #waiting ) and/or exert [ backpressure ] ( #backpressure ) before accepting
237
- the arguments to an export call. See the [ ` canon_task_start ` ] function in the
238
- Canonical ABI explainer for more details.
241
+ enable [ backpressure ] ( #backpressure ) and then [ wait ] ( #waiting ) for existing
242
+ tasks to finish before the receiving the arguments to the current task. See the
243
+ [ ` canon_task_start ` ] function in the Canonical ABI explainer for more details.
239
244
240
245
Before a task has called ` task.start ` , it is considered in the "starting"
241
246
state. After calling ` task.start ` , the task is in a "started" state.
0 commit comments