diff --git a/imports.md b/imports.md
index e99ef31..dce2c7a 100644
--- a/imports.md
+++ b/imports.md
@@ -4,20 +4,173 @@ It is intended to be include
d in other worlds.
wasi:io/poll@0.2.0
wasi:clocks/monotonic-clock@0.2.0
wasi:clocks/wall-clock@0.2.0
wasi:random/random@0.2.0
wasi:io/error@0.2.0
wasi:io/poll@0.2.0
wasi:io/streams@0.2.0
wasi:cli/stdout@0.2.0
wasi:cli/stderr@0.2.0
wasi:cli/stdin@0.2.0
wasi:clocks/monotonic-clock@0.2.0
wasi:http/types@0.2.0
wasi:http/outgoing-handler@0.2.0
wasi:clocks/wall-clock@0.2.0
A poll API intended to let users wait for I/O events on multiple handles +at once.
+resource pollable
pollable
represents a single I/O event which may be ready, or not.[method]pollable.ready: func
Return the readiness of a pollable. This function never blocks.
+Returns true
when the pollable is ready, and false
otherwise.
self
: borrow<pollable
>[method]pollable.block: func
block
returns immediately if the pollable is ready, and otherwise
+blocks until ready.
This function is equivalent to calling poll.poll
on a list
+containing only this pollable.
self
: borrow<pollable
>poll: func
Poll for completion on a set of pollables.
+This function takes a list of pollables, which identify I/O sources of +interest, and waits until one or more of the events is ready for I/O.
+The result list<u32>
contains one or more indices of handles in the
+argument list that is ready for I/O.
This function traps if either:
+u32
value.A timeout can be implemented by adding a pollable from the +wasi-clocks API to the list.
+This function does not return a result
; polling in itself does not
+do any I/O so it doesn't fail. If any of the I/O sources identified by
+the pollables has an error, it is indicated by marking the source as
+being ready for I/O.
in
: list<borrow<pollable
>>WASI Monotonic Clock is a clock API intended to let users measure elapsed +time.
+It is intended to be portable at least between Unix-family platforms and +Windows.
+A monotonic clock is a clock which has an unspecified initial value, and +successive reads of the clock will produce non-decreasing values.
+type pollable
An instant in time, in nanoseconds. An instant is relative to an +unspecified initial value, and can only be compared to instances from +the same monotonic-clock. +
type duration
u64
A duration of time, in nanoseconds. +
now: func
Read the current value of the clock.
+The clock is monotonic, therefore calling this function repeatedly will +produce a sequence of non-decreasing values.
+instant
resolution: func
Query the resolution of the clock. Returns the duration of time +corresponding to a clock tick.
+duration
subscribe-instant: func
Create a pollable
which will resolve once the specified instant
+has occurred.
when
: instant
pollable
>subscribe-duration: func
Create a pollable
that will resolve after the specified duration has
+elapsed from the time this function is invoked.
when
: duration
pollable
>WASI Wall Clock is a clock API intended to let users query the current +time. The name "wall" makes an analogy to a "clock on the wall", which +is not necessarily monotonic as it may be reset.
+It is intended to be portable at least between Unix-family platforms and +Windows.
+A wall clock is a clock which measures the date and time according to +some external reference.
+External references may be reset, so this clock is not necessarily +monotonic, making it unsuitable for measuring elapsed time.
+It is intended for reporting the current date and time for humans.
+record datetime
A time and date in seconds plus nanoseconds.
+now: func
Read the current value of the clock.
+This clock is not monotonic, therefore calling this function repeatedly +will not necessarily produce a sequence of non-decreasing values.
+The returned timestamps represent the number of seconds since +1970-01-01T00:00:00Z, also known as POSIX's Seconds Since the Epoch, +also known as Unix Time.
+The nanoseconds field of the output is always less than 1000000000.
+datetime
resolution: func
Query the resolution of the clock.
+The nanoseconds field of the output is always less than 1000000000.
+datetime
WASI Random is a random data API.
It is intended to be portable at least between Unix-family platforms and @@ -84,59 +237,6 @@ hazard.
-A poll API intended to let users wait for I/O events on multiple handles -at once.
-resource pollable
pollable
represents a single I/O event which may be ready, or not.[method]pollable.ready: func
Return the readiness of a pollable. This function never blocks.
-Returns true
when the pollable is ready, and false
otherwise.
self
: borrow<pollable
>[method]pollable.block: func
block
returns immediately if the pollable is ready, and otherwise
-blocks until ready.
This function is equivalent to calling poll.poll
on a list
-containing only this pollable.
self
: borrow<pollable
>poll: func
Poll for completion on a set of pollables.
-This function takes a list of pollables, which identify I/O sources of -interest, and waits until one or more of the events is ready for I/O.
-The result list<u32>
contains one or more indices of handles in the
-argument list that is ready for I/O.
This function traps if either:
-u32
value.A timeout can be implemented by adding a pollable from the -wasi-clocks API to the list.
-This function does not return a result
; polling in itself does not
-do any I/O so it doesn't fail. If any of the I/O sources identified by
-the pollables has an error, it is indicated by marking the source as
-being ready for I/O.
in
: list<borrow<pollable
>>WASI I/O is an I/O abstraction API which is currently focused on providing stream types.
@@ -504,65 +604,6 @@ is ready for reading, before performing thesplice
.
input-stream
>WASI Monotonic Clock is a clock API intended to let users measure elapsed -time.
-It is intended to be portable at least between Unix-family platforms and -Windows.
-A monotonic clock is a clock which has an unspecified initial value, and -successive reads of the clock will produce non-decreasing values.
-type pollable
An instant in time, in nanoseconds. An instant is relative to an -unspecified initial value, and can only be compared to instances from -the same monotonic-clock. -
type duration
u64
A duration of time, in nanoseconds. -
now: func
Read the current value of the clock.
-The clock is monotonic, therefore calling this function repeatedly will -produce a sequence of non-decreasing values.
-instant
resolution: func
Query the resolution of the clock. Returns the duration of time -corresponding to a clock tick.
-duration
subscribe-instant: func
Create a pollable
which will resolve once the specified instant
-has occurred.
when
: instant
pollable
>subscribe-duration: func
Create a pollable
that will resolve after the specified duration has
-elapsed from the time this function is invoked.
when
: duration
pollable
>This interface defines all of the types and methods for implementing
HTTP Requests and Responses, both incoming and outgoing, as well as
@@ -1490,44 +1531,3 @@ through the future-incoming-response
>,
future-incoming-response
error-code
>
-
WASI Wall Clock is a clock API intended to let users query the current -time. The name "wall" makes an analogy to a "clock on the wall", which -is not necessarily monotonic as it may be reset.
-It is intended to be portable at least between Unix-family platforms and -Windows.
-A wall clock is a clock which measures the date and time according to -some external reference.
-External references may be reset, so this clock is not necessarily -monotonic, making it unsuitable for measuring elapsed time.
-It is intended for reporting the current date and time for humans.
-record datetime
A time and date in seconds plus nanoseconds.
-now: func
Read the current value of the clock.
-This clock is not monotonic, therefore calling this function repeatedly -will not necessarily produce a sequence of non-decreasing values.
-The returned timestamps represent the number of seconds since -1970-01-01T00:00:00Z, also known as POSIX's Seconds Since the Epoch, -also known as Unix Time.
-The nanoseconds field of the output is always less than 1000000000.
-datetime
resolution: func
Query the resolution of the clock.
-The nanoseconds field of the output is always less than 1000000000.
-datetime
wasi:io/error@0.2.0
wasi:io/streams@0.2.0
wasi:http/types@0.2.0
wasi:clocks/wall-clock@0.2.0
wasi:random/random@0.2.0
wasi:cli/stdout@0.2.0
wasi:cli/stderr@0.2.0
wasi:cli/stdin@0.2.0
wasi:http/outgoing-handler@0.2.0
wasi:clocks/wall-clock@0.2.0
incoming-body
- option<result<result<own<
incoming-response
>, error-code
>>>WASI Wall Clock is a clock API intended to let users query the current +time. The name "wall" makes an analogy to a "clock on the wall", which +is not necessarily monotonic as it may be reset.
+It is intended to be portable at least between Unix-family platforms and +Windows.
+A wall clock is a clock which measures the date and time according to +some external reference.
+External references may be reset, so this clock is not necessarily +monotonic, making it unsuitable for measuring elapsed time.
+It is intended for reporting the current date and time for humans.
+record datetime
A time and date in seconds plus nanoseconds.
+now: func
Read the current value of the clock.
+This clock is not monotonic, therefore calling this function repeatedly +will not necessarily produce a sequence of non-decreasing values.
+The returned timestamps represent the number of seconds since +1970-01-01T00:00:00Z, also known as POSIX's Seconds Since the Epoch, +also known as Unix Time.
+The nanoseconds field of the output is always less than 1000000000.
+datetime
resolution: func
Query the resolution of the clock.
+The nanoseconds field of the output is always less than 1000000000.
+datetime
WASI Random is a random data API.
It is intended to be portable at least between Unix-family platforms and
@@ -1497,47 +1538,6 @@ through the future-incoming-response
>,
future-incoming-response
error-code
>
-
WASI Wall Clock is a clock API intended to let users query the current -time. The name "wall" makes an analogy to a "clock on the wall", which -is not necessarily monotonic as it may be reset.
-It is intended to be portable at least between Unix-family platforms and -Windows.
-A wall clock is a clock which measures the date and time according to -some external reference.
-External references may be reset, so this clock is not necessarily -monotonic, making it unsuitable for measuring elapsed time.
-It is intended for reporting the current date and time for humans.
-record datetime
A time and date in seconds plus nanoseconds.
-now: func
Read the current value of the clock.
-This clock is not monotonic, therefore calling this function repeatedly -will not necessarily produce a sequence of non-decreasing values.
-The returned timestamps represent the number of seconds since -1970-01-01T00:00:00Z, also known as POSIX's Seconds Since the Epoch, -also known as Unix Time.
-The nanoseconds field of the output is always less than 1000000000.
-datetime
resolution: func
Query the resolution of the clock.
-The nanoseconds field of the output is always less than 1000000000.
-datetime