outgoing-value
A data is the data stored in a data blob. The value can be of any type
that can be represented in a byte array. It provides a way to write the value
to the output-stream defined in the wasi-io interface.
Soon: switch to resource value { ... }
resource outgoing-value;F outgoing-value-write-body
outgoing-value-write-body: func() -> result<output-stream, _>;Returns a stream for writing the value contents.
The returned output-stream is a child resource: it must be dropped
before the parent outgoing-value resource is dropped (or finished),
otherwise the outgoing-value drop or finish will trap.
Returns success on the first call: the output-stream resource for
this outgoing-value may be retrieved at most once. Subsequent calls
will return error.
F new-outgoing-value
new-outgoing-value: func() -> outgoing-value;F finish
finish: func(this: outgoing-value) -> result<_, error>;Finalize an outgoing value. This must be
called to signal that the outgoing value is complete. If the outgoing-value
is dropped without calling outgoing-value.finalize, the implementation
should treat the value as corrupted.