From 0598519dac2e46db4f3671bcb90f284919ea6e0e Mon Sep 17 00:00:00 2001 From: Yosh Date: Thu, 1 Aug 2024 17:46:44 +0200 Subject: [PATCH] Update to v0.2.1 --- command.md | 127 ++++++++++++++------------- imports.md | 129 ++++++++++++++-------------- wit/command.wit | 2 +- wit/deps.lock | 20 ++--- wit/deps/clocks/monotonic-clock.wit | 6 +- wit/deps/clocks/timezone.wit | 2 +- wit/deps/clocks/wall-clock.wit | 2 +- wit/deps/clocks/world.wit | 2 +- wit/deps/filesystem/preopens.wit | 2 +- wit/deps/filesystem/types.wit | 8 +- wit/deps/filesystem/world.wit | 2 +- wit/deps/io/error.wit | 2 +- wit/deps/io/poll.wit | 2 +- wit/deps/io/streams.wit | 10 ++- wit/deps/io/world.wit | 2 +- wit/deps/random/insecure-seed.wit | 2 +- wit/deps/random/insecure.wit | 2 +- wit/deps/random/random.wit | 2 +- wit/deps/random/world.wit | 2 +- wit/deps/sockets/ip-name-lookup.wit | 2 +- wit/deps/sockets/tcp.wit | 6 +- wit/deps/sockets/udp.wit | 2 +- wit/deps/sockets/world.wit | 2 +- wit/imports.wit | 12 +-- wit/stdio.wit | 6 +- 25 files changed, 183 insertions(+), 173 deletions(-) diff --git a/command.md b/command.md index 5e5fe2a..b639401 100644 --- a/command.md +++ b/command.md @@ -2,42 +2,42 @@ -

Import interface wasi:cli/environment@0.2.0

+

Import interface wasi:cli/environment@0.2.1


Functions

get-environment: func

@@ -64,7 +64,7 @@ directory, interpreting . as shorthand for this.

-

Import interface wasi:cli/exit@0.2.0

+

Import interface wasi:cli/exit@0.2.1


Functions

exit: func

@@ -84,7 +84,7 @@ without the connotation that something bad has happened.

-

Import interface wasi:io/error@0.2.0

+

Import interface wasi:io/error@0.2.1


Types

resource error

@@ -117,7 +117,7 @@ hazard.

-

Import interface wasi:io/poll@0.2.0

+

Import interface wasi:io/poll@0.2.1

A poll API intended to let users wait for I/O events on multiple handles at once.


@@ -170,7 +170,7 @@ being ready for I/O.

-

Import interface wasi:io/streams@0.2.0

+

Import interface wasi:io/streams@0.2.1

WASI I/O is an I/O abstraction API which is currently focused on providing stream types.

In the future, the component model is expected to add built-in stream types; @@ -209,12 +209,15 @@ use the subscribe function to obtain a po for using wasi:io/poll.

resource output-stream

An output bytestream.

-

output-streams are non-blocking to the extent practical on +

output-streams are non-blocking to the extent practical on underlying platforms. Except where specified otherwise, I/O operations also always return promptly, after the number of bytes that can be written promptly, which could even be zero. To wait for the stream to be ready to accept data, the subscribe function to obtain a pollable which can be -polled for using wasi:io/poll.

+polled for using wasi:io/poll.

+

Dropping an output-stream while there's still an active write in +progress may result in the data being lost. Before dropping the stream, +be sure to fully flush your writes.

Functions

[method]input-stream.read: func

Perform a non-blocking read from the stream.

@@ -396,7 +399,7 @@ and stream is ready for writing again.

[method]output-stream.subscribe: func

Create a pollable which will resolve once the output-stream -is ready for more writing, or an error has occured. When this +is ready for more writing, or an error has occurred. When this pollable is ready, check-write will return ok(n) with n>0, or an error.

If the stream is closed, this pollable is always ready immediately.

@@ -459,7 +462,7 @@ let _ = this.check-write(); // eliding error handling

[method]output-stream.splice: func

Read from one stream and write to another.

-

The behavior of splice is equivelant to:

+

The behavior of splice is equivalent to:

  1. calling check-write on the output-stream
  2. calling read on the input-stream with the smaller of the @@ -495,7 +498,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/stdin@0.2.0

    +

    Import interface wasi:cli/stdin@0.2.1


    Types

    type input-stream

    @@ -508,7 +511,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/stdout@0.2.0

    +

    Import interface wasi:cli/stdout@0.2.1


    Types

    type output-stream

    @@ -521,7 +524,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/stderr@0.2.0

    +

    Import interface wasi:cli/stderr@0.2.1


    Types

    type output-stream

    @@ -534,7 +537,7 @@ is ready for reading, before performing the splice.

    -

    Import interface wasi:cli/terminal-input@0.2.0

    +

    Import interface wasi:cli/terminal-input@0.2.1

    Terminal input.

    In the future, this may include functions for disabling echoing, disabling input buffering so that keyboard events are sent through @@ -543,7 +546,7 @@ immediately, querying supported features, and so on.

    Types

    resource terminal-input

    The input side of a terminal.

    -

    Import interface wasi:cli/terminal-output@0.2.0

    +

    Import interface wasi:cli/terminal-output@0.2.1

    Terminal output.

    In the future, this may include functions for querying the terminal size, being notified of terminal size changes, querying supported @@ -552,7 +555,7 @@ features, and so on.

    Types

    resource terminal-output

    The output side of a terminal.

    -

    Import interface wasi:cli/terminal-stdin@0.2.0

    +

    Import interface wasi:cli/terminal-stdin@0.2.1

    An interface providing an optional terminal-input for stdin as a link-time authority.


    @@ -569,7 +572,7 @@ allowing further interaction with it.

    -

    Import interface wasi:cli/terminal-stdout@0.2.0

    +

    Import interface wasi:cli/terminal-stdout@0.2.1

    An interface providing an optional terminal-output for stdout as a link-time authority.


    @@ -586,7 +589,7 @@ allowing further interaction with it.

    -

    Import interface wasi:cli/terminal-stderr@0.2.0

    +

    Import interface wasi:cli/terminal-stderr@0.2.1

    An interface providing an optional terminal-output for stderr as a link-time authority.


    @@ -603,7 +606,7 @@ allowing further interaction with it.

    -

    Import interface wasi:clocks/monotonic-clock@0.2.0

    +

    Import interface wasi:clocks/monotonic-clock@0.2.1

    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 @@ -642,7 +645,7 @@ corresponding to a clock tick.

    subscribe-instant: func

    Create a pollable which will resolve once the specified instant -has occured.

    +has occurred.

    Params
    • when: instant
    • @@ -662,7 +665,7 @@ elapsed from the time this function is invoked.

      -

      Import interface wasi:clocks/wall-clock@0.2.0

      +

      Import interface wasi:clocks/wall-clock@0.2.1

      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.

      @@ -703,7 +706,7 @@ also known as Unix Time.
    • datetime
    -

    Import interface wasi:filesystem/types@0.2.0

    +

    Import interface wasi:filesystem/types@0.2.1

    WASI filesystem is a filesystem API primarily intended to let users run WASI programs that access their files on their existing filesystems, without significant overhead.

    @@ -810,7 +813,7 @@ requirement.

  3. requested-write-sync:

    -

    Requests that reads be performed at the same level of integrety +

    Requests that reads be performed at the same level of integrity requested for writes. This is similar to `O_RSYNC` in POSIX.

    The precise semantics of this operation have not yet been defined for WASI. At this time, it should be interpreted as a request, and not a @@ -1583,7 +1586,7 @@ errors are filesystem-related errors.

    -

    Import interface wasi:filesystem/preopens@0.2.0

    +

    Import interface wasi:filesystem/preopens@0.2.1


    Types

    type descriptor

    @@ -1597,7 +1600,7 @@ errors are filesystem-related errors.

    -

    Import interface wasi:sockets/network@0.2.0

    +

    Import interface wasi:sockets/network@0.2.1


    Types

    resource network

    @@ -1790,7 +1793,7 @@ supported size.
  4. ipv4: ipv4-socket-address
  5. ipv6: ipv6-socket-address
  6. -

    Import interface wasi:sockets/instance-network@0.2.0

    +

    Import interface wasi:sockets/instance-network@0.2.1

    This interface provides a value-export of the default network handle..


    Types

    @@ -1805,7 +1808,7 @@ supported size. -

    Import interface wasi:sockets/udp@0.2.0

    +

    Import interface wasi:sockets/udp@0.2.1


    Types

    type pollable

    @@ -2219,7 +2222,7 @@ It's planned to be removed when future is natively supported in Pre -

    Import interface wasi:sockets/udp-create-socket@0.2.0

    +

    Import interface wasi:sockets/udp-create-socket@0.2.1


    Types

    type network

    @@ -2264,7 +2267,7 @@ the socket is effectively an in-memory configuration object, unable to communica -

    Import interface wasi:sockets/tcp@0.2.0

    +

    Import interface wasi:sockets/tcp@0.2.1


    Types

    type input-stream

    @@ -2855,7 +2858,7 @@ has no effect and returns ok.

    -

    Import interface wasi:sockets/tcp-create-socket@0.2.0

    +

    Import interface wasi:sockets/tcp-create-socket@0.2.1


    Types

    type network

    @@ -2900,7 +2903,7 @@ is called, the socket is effectively an in-memory configuration object, unable t -

    Import interface wasi:sockets/ip-name-lookup@0.2.0

    +

    Import interface wasi:sockets/ip-name-lookup@0.2.1


    Types

    type pollable

    @@ -2980,7 +2983,7 @@ It's planned to be removed when future is natively supported in Pre -

    Import interface wasi:random/random@0.2.0

    +

    Import interface wasi:random/random@0.2.1

    WASI Random is a random data API.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3013,7 +3016,7 @@ represented as a u64.

    • u64
    -

    Import interface wasi:random/insecure@0.2.0

    +

    Import interface wasi:random/insecure@0.2.1

    The insecure interface for insecure pseudo-random numbers.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3042,7 +3045,7 @@ a long period.

    • u64
    -

    Import interface wasi:random/insecure-seed@0.2.0

    +

    Import interface wasi:random/insecure-seed@0.2.1

    The insecure-seed interface for seeding hash-map DoS resistance.

    It is intended to be portable at least between Unix-family platforms and Windows.

    @@ -3066,7 +3069,7 @@ protection.

    • (u64, u64)
    -

    Export interface wasi:cli/run@0.2.0

    +

    Export interface wasi:cli/run@0.2.1


    Functions

    run: func

    diff --git a/imports.md b/imports.md index 495ad20..ab22b2a 100644 --- a/imports.md +++ b/imports.md @@ -2,37 +2,37 @@ -

    Import interface wasi:cli/environment@0.2.0

    +
  7. interface wasi:cli/environment@0.2.1
  8. +
  9. interface wasi:cli/exit@0.2.1
  10. +
  11. interface wasi:io/error@0.2.1
  12. +
  13. interface wasi:io/poll@0.2.1
  14. +
  15. interface wasi:io/streams@0.2.1
  16. +
  17. interface wasi:cli/stdin@0.2.1
  18. +
  19. interface wasi:cli/stdout@0.2.1
  20. +
  21. interface wasi:cli/stderr@0.2.1
  22. +
  23. interface wasi:cli/terminal-input@0.2.1
  24. +
  25. interface wasi:cli/terminal-output@0.2.1
  26. +
  27. interface wasi:cli/terminal-stdin@0.2.1
  28. +
  29. interface wasi:cli/terminal-stdout@0.2.1
  30. +
  31. interface wasi:cli/terminal-stderr@0.2.1
  32. +
  33. interface wasi:clocks/monotonic-clock@0.2.1
  34. +
  35. interface wasi:clocks/wall-clock@0.2.1
  36. +
  37. interface wasi:filesystem/types@0.2.1
  38. +
  39. interface wasi:filesystem/preopens@0.2.1
  40. +
  41. interface wasi:sockets/network@0.2.1
  42. +
  43. interface wasi:sockets/instance-network@0.2.1
  44. +
  45. interface wasi:sockets/udp@0.2.1
  46. +
  47. interface wasi:sockets/udp-create-socket@0.2.1
  48. +
  49. interface wasi:sockets/tcp@0.2.1
  50. +
  51. interface wasi:sockets/tcp-create-socket@0.2.1
  52. +
  53. interface wasi:sockets/ip-name-lookup@0.2.1
  54. +
  55. interface wasi:random/random@0.2.1
  56. +
  57. interface wasi:random/insecure@0.2.1
  58. +
  59. interface wasi:random/insecure-seed@0.2.1
  60. + + + +

    Import interface wasi:cli/environment@0.2.1


    Functions

    get-environment: func

    @@ -59,7 +59,7 @@ directory, interpreting . as shorthand for this.

    • option<string>
    -

    Import interface wasi:cli/exit@0.2.0

    +

    Import interface wasi:cli/exit@0.2.1


    Functions

    exit: func

    @@ -79,7 +79,7 @@ without the connotation that something bad has happened.

    • status-code: u8
    -

    Import interface wasi:io/error@0.2.0

    +

    Import interface wasi:io/error@0.2.1


    Types

    resource error

    @@ -112,7 +112,7 @@ hazard.

    • string
    -

    Import interface wasi:io/poll@0.2.0

    +

    Import interface wasi:io/poll@0.2.1

    A poll API intended to let users wait for I/O events on multiple handles at once.


    @@ -165,7 +165,7 @@ being ready for I/O.

    • list<u32>
    -

    Import interface wasi:io/streams@0.2.0

    +

    Import interface wasi:io/streams@0.2.1

    WASI I/O is an I/O abstraction API which is currently focused on providing stream types.

    In the future, the component model is expected to add built-in stream types; @@ -204,12 +204,15 @@ use the subscribe function to obtain a po for using wasi:io/poll.

    resource output-stream

    An output bytestream.

    -

    output-streams are non-blocking to the extent practical on +

    output-streams are non-blocking to the extent practical on underlying platforms. Except where specified otherwise, I/O operations also always return promptly, after the number of bytes that can be written promptly, which could even be zero. To wait for the stream to be ready to accept data, the subscribe function to obtain a pollable which can be -polled for using wasi:io/poll.

    +polled for using wasi:io/poll.

    +

    Dropping an output-stream while there's still an active write in +progress may result in the data being lost. Before dropping the stream, +be sure to fully flush your writes.

    Functions

    [method]input-stream.read: func

    Perform a non-blocking read from the stream.

    @@ -391,7 +394,7 @@ and stream is ready for writing again.

    [method]output-stream.subscribe: func

    Create a pollable which will resolve once the output-stream -is ready for more writing, or an error has occured. When this +is ready for more writing, or an error has occurred. When this pollable is ready, check-write will return ok(n) with n>0, or an error.

    If the stream is closed, this pollable is always ready immediately.

    @@ -454,7 +457,7 @@ let _ = this.check-write(); // eliding error handling

    [method]output-stream.splice: func

    Read from one stream and write to another.

    -

    The behavior of splice is equivelant to:

    +

    The behavior of splice is equivalent to:

    1. calling check-write on the output-stream
    2. calling read on the input-stream with the smaller of the @@ -490,7 +493,7 @@ is ready for reading, before performing the splice.

      -

      Import interface wasi:cli/stdin@0.2.0

      +

      Import interface wasi:cli/stdin@0.2.1


      Types

      type input-stream

      @@ -503,7 +506,7 @@ is ready for reading, before performing the splice.

      -

      Import interface wasi:cli/stdout@0.2.0

      +

      Import interface wasi:cli/stdout@0.2.1


      Types

      type output-stream

      @@ -516,7 +519,7 @@ is ready for reading, before performing the splice.

      -

      Import interface wasi:cli/stderr@0.2.0

      +

      Import interface wasi:cli/stderr@0.2.1


      Types

      type output-stream

      @@ -529,7 +532,7 @@ is ready for reading, before performing the splice.

      -

      Import interface wasi:cli/terminal-input@0.2.0

      +

      Import interface wasi:cli/terminal-input@0.2.1

      Terminal input.

      In the future, this may include functions for disabling echoing, disabling input buffering so that keyboard events are sent through @@ -538,7 +541,7 @@ immediately, querying supported features, and so on.

      Types

      resource terminal-input

      The input side of a terminal.

      -

      Import interface wasi:cli/terminal-output@0.2.0

      +

      Import interface wasi:cli/terminal-output@0.2.1

      Terminal output.

      In the future, this may include functions for querying the terminal size, being notified of terminal size changes, querying supported @@ -547,7 +550,7 @@ features, and so on.

      Types

      resource terminal-output

      The output side of a terminal.

      -

      Import interface wasi:cli/terminal-stdin@0.2.0

      +

      Import interface wasi:cli/terminal-stdin@0.2.1

      An interface providing an optional terminal-input for stdin as a link-time authority.


      @@ -564,7 +567,7 @@ allowing further interaction with it.

      -

      Import interface wasi:cli/terminal-stdout@0.2.0

      +

      Import interface wasi:cli/terminal-stdout@0.2.1

      An interface providing an optional terminal-output for stdout as a link-time authority.


      @@ -581,7 +584,7 @@ allowing further interaction with it.

      -

      Import interface wasi:cli/terminal-stderr@0.2.0

      +

      Import interface wasi:cli/terminal-stderr@0.2.1

      An interface providing an optional terminal-output for stderr as a link-time authority.


      @@ -598,7 +601,7 @@ allowing further interaction with it.

      -

      Import interface wasi:clocks/monotonic-clock@0.2.0

      +

      Import interface wasi:clocks/monotonic-clock@0.2.1

      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 @@ -637,7 +640,7 @@ corresponding to a clock tick.

      subscribe-instant: func

      Create a pollable which will resolve once the specified instant -has occured.

      +has occurred.

      Params
      • when: instant
      • @@ -657,7 +660,7 @@ elapsed from the time this function is invoked.

        -

        Import interface wasi:clocks/wall-clock@0.2.0

        +

        Import interface wasi:clocks/wall-clock@0.2.1

        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.

        @@ -698,7 +701,7 @@ also known as Unix Time.
      • datetime
      -

      Import interface wasi:filesystem/types@0.2.0

      +

      Import interface wasi:filesystem/types@0.2.1

      WASI filesystem is a filesystem API primarily intended to let users run WASI programs that access their files on their existing filesystems, without significant overhead.

      @@ -805,7 +808,7 @@ requirement.

    3. requested-write-sync:

      -

      Requests that reads be performed at the same level of integrety +

      Requests that reads be performed at the same level of integrity requested for writes. This is similar to `O_RSYNC` in POSIX.

      The precise semantics of this operation have not yet been defined for WASI. At this time, it should be interpreted as a request, and not a @@ -1578,7 +1581,7 @@ errors are filesystem-related errors.

      -

      Import interface wasi:filesystem/preopens@0.2.0

      +

      Import interface wasi:filesystem/preopens@0.2.1


      Types

      type descriptor

      @@ -1592,7 +1595,7 @@ errors are filesystem-related errors.

      -

      Import interface wasi:sockets/network@0.2.0

      +

      Import interface wasi:sockets/network@0.2.1


      Types

      resource network

      @@ -1785,7 +1788,7 @@ supported size.
    4. ipv4: ipv4-socket-address
    5. ipv6: ipv6-socket-address
    6. -

      Import interface wasi:sockets/instance-network@0.2.0

      +

      Import interface wasi:sockets/instance-network@0.2.1

      This interface provides a value-export of the default network handle..


      Types

      @@ -1800,7 +1803,7 @@ supported size. -

      Import interface wasi:sockets/udp@0.2.0

      +

      Import interface wasi:sockets/udp@0.2.1


      Types

      type pollable

      @@ -2214,7 +2217,7 @@ It's planned to be removed when future is natively supported in Pre -

      Import interface wasi:sockets/udp-create-socket@0.2.0

      +

      Import interface wasi:sockets/udp-create-socket@0.2.1


      Types

      type network

      @@ -2259,7 +2262,7 @@ the socket is effectively an in-memory configuration object, unable to communica -

      Import interface wasi:sockets/tcp@0.2.0

      +

      Import interface wasi:sockets/tcp@0.2.1


      Types

      type input-stream

      @@ -2850,7 +2853,7 @@ has no effect and returns ok.

      -

      Import interface wasi:sockets/tcp-create-socket@0.2.0

      +

      Import interface wasi:sockets/tcp-create-socket@0.2.1


      Types

      type network

      @@ -2895,7 +2898,7 @@ is called, the socket is effectively an in-memory configuration object, unable t -

      Import interface wasi:sockets/ip-name-lookup@0.2.0

      +

      Import interface wasi:sockets/ip-name-lookup@0.2.1


      Types

      type pollable

      @@ -2975,7 +2978,7 @@ It's planned to be removed when future is natively supported in Pre -

      Import interface wasi:random/random@0.2.0

      +

      Import interface wasi:random/random@0.2.1

      WASI Random is a random data API.

      It is intended to be portable at least between Unix-family platforms and Windows.

      @@ -3008,7 +3011,7 @@ represented as a u64.

      • u64
      -

      Import interface wasi:random/insecure@0.2.0

      +

      Import interface wasi:random/insecure@0.2.1

      The insecure interface for insecure pseudo-random numbers.

      It is intended to be portable at least between Unix-family platforms and Windows.

      @@ -3037,7 +3040,7 @@ a long period.

      • u64
      -

      Import interface wasi:random/insecure-seed@0.2.0

      +

      Import interface wasi:random/insecure-seed@0.2.1

      The insecure-seed interface for seeding hash-map DoS resistance.

      It is intended to be portable at least between Unix-family platforms and Windows.

      diff --git a/wit/command.wit b/wit/command.wit index 0fc85e9..dc064a3 100644 --- a/wit/command.wit +++ b/wit/command.wit @@ -1,4 +1,4 @@ -package wasi:cli@0.2.0; +package wasi:cli@0.2.1; @since(version = 0.2.0) world command { diff --git a/wit/deps.lock b/wit/deps.lock index 8660c85..4308eab 100644 --- a/wit/deps.lock +++ b/wit/deps.lock @@ -1,24 +1,24 @@ [clocks] url = "https://github.com/WebAssembly/wasi-clocks/archive/main.tar.gz" -sha256 = "f27a857de70c1b0dfbabda35812a8de1253089623b1a84ddd066183c6ffac5f8" -sha512 = "9df1b0be1e4925f671fda65d433217798404f8e2e4fa60ff8bfdfd257f0b6d212ea350c141f308cf4cc57fb0b44899b14af1f9af97a05dcd6f8ae00a7594de8d" +sha256 = "ea9d69ee803bc176e23e5268f5e24a2ac485dd1f62a0ab4c748e9d3f901f576f" +sha512 = "5efc22927c46cd56c41e5549ec775561c7fac2ea0d365abc0b55396d9475a7c9f984077a81f84a44a726f1c008fd2fadbffffa4fa53ecd5fbfd05afd379ab428" [filesystem] url = "https://github.com/WebAssembly/wasi-filesystem/archive/main.tar.gz" -sha256 = "e37bda5e27222621771ba07d2e9daf862a728c31f91024badfc4f9a42c9ae8ee" -sha512 = "81e92f5e4eca0c8f9606f26a1c4eebb3c53a708b57d3f7e7c60e97aa3c18794b72a44c39212de566442e25313b5ccb5b0b7c9070f3600f0c7c584ea9db91e207" +sha256 = "cfe8c420e8b857de612ae2a3336680dae16b95c93c8ba3a6ff05b21210966740" +sha512 = "3c00c5544a58658e3e8025677091685286027fd49f37abf198c30b4e83b9e68f19723975aaa98794fba9f425ae9ef4f3dc0f5b9cf59203b5ecfaadf62b296f9a" [io] url = "https://github.com/WebAssembly/wasi-io/archive/main.tar.gz" -sha256 = "f3e976740ed9512674c627c6588864c477a9ff539bb7e55c7b9ceab222399b52" -sha512 = "c785122b4c04e2297e3fa37ae76c149b0a681444da106758cf673023923b69a6b2c65624ffbb6ad31edef02f9fbc677b05c89525f07b1159fe0c997a8c6b1a8f" +sha256 = "2a74bd811adc46b5a0f19827ddbde89870e52b17615f4d0873f06fd977250caf" +sha512 = "94624f00c66e66203592cee820f80b1ba91ecdb71f682c154f25eaf71f8d8954197dcb64503bc21e72ed5e812af7eae876df47b7eb727b02db3a74a7ce0aefca" [random] url = "https://github.com/WebAssembly/wasi-random/archive/main.tar.gz" -sha256 = "2f0014e946e38947afe120836b17cdcfa608be993d38d55b81cc2d31e7e70b16" -sha512 = "51ee623509040de77b0ba236e29589102538aacd3dd67168b06a09bf6ae469c762818fc07b5039d2a8b1838f4b5a5965a7c81ed0e2d47b142bece9d1ab8b93a6" +sha256 = "9e2d5056186f81b2e7f96bc97d2babd0341840f6abb4f170449b70992f1b598f" +sha512 = "67bf41d8d5d4b7af084124ee85196585225785969059f59e2f9ddb77ac1a8095cfe811ae29d076aac817418fa01064d7b9fbc0233930bace680758eeb21e36f8" [sockets] url = "https://github.com/WebAssembly/wasi-sockets/archive/main.tar.gz" -sha256 = "5321ba37115d503bfe0880349e99ecbd26ee812708fa83d2b276ec8ee7571443" -sha512 = "c3d71c2afa1475bf10d86b1e0623e2292e5dd407cf54103ad0d05c07fa95323bff9ad06e929d508b318a0a99a67132793fb9a04c17585843e24f090f5ee91367" +sha256 = "4c361137a7e61e8b9a73da2a0899dd9ad1a0c2dfee7d310cf168704c57b7a07c" +sha512 = "348b4ef381f57aec23d48537df8b69ab8963587dcb056e94c4cd5657e217677a4ee2a545868a5c829d2334cc6b8b0a61d3e72797999f44d78553fbd3a73c5b8d" diff --git a/wit/deps/clocks/monotonic-clock.wit b/wit/deps/clocks/monotonic-clock.wit index cae2363..3c24840 100644 --- a/wit/deps/clocks/monotonic-clock.wit +++ b/wit/deps/clocks/monotonic-clock.wit @@ -1,4 +1,4 @@ -package wasi:clocks@0.2.0; +package wasi:clocks@0.2.1; /// WASI Monotonic Clock is a clock API intended to let users measure elapsed /// time. /// @@ -10,7 +10,7 @@ package wasi:clocks@0.2.0; @since(version = 0.2.0) interface monotonic-clock { @since(version = 0.2.0) - use wasi:io/poll@0.2.0.{pollable}; + use wasi:io/poll@0.2.1.{pollable}; /// An instant in time, in nanoseconds. An instant is relative to an /// unspecified initial value, and can only be compared to instances from @@ -35,7 +35,7 @@ interface monotonic-clock { resolution: func() -> duration; /// Create a `pollable` which will resolve once the specified instant - /// has occured. + /// has occurred. @since(version = 0.2.0) subscribe-instant: func( when: instant, diff --git a/wit/deps/clocks/timezone.wit b/wit/deps/clocks/timezone.wit index 3c28688..212da66 100644 --- a/wit/deps/clocks/timezone.wit +++ b/wit/deps/clocks/timezone.wit @@ -1,4 +1,4 @@ -package wasi:clocks@0.2.0; +package wasi:clocks@0.2.1; @unstable(feature = clocks-timezone) interface timezone { diff --git a/wit/deps/clocks/wall-clock.wit b/wit/deps/clocks/wall-clock.wit index 4b08d71..6be069a 100644 --- a/wit/deps/clocks/wall-clock.wit +++ b/wit/deps/clocks/wall-clock.wit @@ -1,4 +1,4 @@ -package wasi:clocks@0.2.0; +package wasi:clocks@0.2.1; /// 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. diff --git a/wit/deps/clocks/world.wit b/wit/deps/clocks/world.wit index 76a9206..9251ac6 100644 --- a/wit/deps/clocks/world.wit +++ b/wit/deps/clocks/world.wit @@ -1,4 +1,4 @@ -package wasi:clocks@0.2.0; +package wasi:clocks@0.2.1; @since(version = 0.2.0) world imports { diff --git a/wit/deps/filesystem/preopens.wit b/wit/deps/filesystem/preopens.wit index 08094ab..ca2f726 100644 --- a/wit/deps/filesystem/preopens.wit +++ b/wit/deps/filesystem/preopens.wit @@ -1,4 +1,4 @@ -package wasi:filesystem@0.2.0; +package wasi:filesystem@0.2.1; @since(version = 0.2.0) interface preopens { diff --git a/wit/deps/filesystem/types.wit b/wit/deps/filesystem/types.wit index 4900ae2..db3d968 100644 --- a/wit/deps/filesystem/types.wit +++ b/wit/deps/filesystem/types.wit @@ -1,4 +1,4 @@ -package wasi:filesystem@0.2.0; +package wasi:filesystem@0.2.1; /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. @@ -26,9 +26,9 @@ package wasi:filesystem@0.2.0; @since(version = 0.2.0) interface types { @since(version = 0.2.0) - use wasi:io/streams@0.2.0.{input-stream, output-stream, error}; + use wasi:io/streams@0.2.1.{input-stream, output-stream, error}; @since(version = 0.2.0) - use wasi:clocks/wall-clock@0.2.0.{datetime}; + use wasi:clocks/wall-clock@0.2.1.{datetime}; /// File size or length of a region within a file. @since(version = 0.2.0) @@ -83,7 +83,7 @@ interface types { /// WASI. At this time, it should be interpreted as a request, and not a /// requirement. data-integrity-sync, - /// Requests that reads be performed at the same level of integrety + /// Requests that reads be performed at the same level of integrity /// requested for writes. This is similar to `O_RSYNC` in POSIX. /// /// The precise semantics of this operation have not yet been defined for diff --git a/wit/deps/filesystem/world.wit b/wit/deps/filesystem/world.wit index c8d99f5..af0146c 100644 --- a/wit/deps/filesystem/world.wit +++ b/wit/deps/filesystem/world.wit @@ -1,4 +1,4 @@ -package wasi:filesystem@0.2.0; +package wasi:filesystem@0.2.1; @since(version = 0.2.0) world imports { diff --git a/wit/deps/io/error.wit b/wit/deps/io/error.wit index 7e66dbb..4ea29c4 100644 --- a/wit/deps/io/error.wit +++ b/wit/deps/io/error.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.0; +package wasi:io@0.2.1; @since(version = 0.2.0) interface error { diff --git a/wit/deps/io/poll.wit b/wit/deps/io/poll.wit index cbdc960..b25ac72 100644 --- a/wit/deps/io/poll.wit +++ b/wit/deps/io/poll.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.0; +package wasi:io@0.2.1; /// A poll API intended to let users wait for I/O events on multiple handles /// at once. diff --git a/wit/deps/io/streams.wit b/wit/deps/io/streams.wit index a57f204..b697e24 100644 --- a/wit/deps/io/streams.wit +++ b/wit/deps/io/streams.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.0; +package wasi:io@0.2.1; /// WASI I/O is an I/O abstraction API which is currently focused on providing /// stream types. @@ -112,6 +112,10 @@ interface streams { /// promptly, which could even be zero. To wait for the stream to be ready to /// accept data, the `subscribe` function to obtain a `pollable` which can be /// polled for using `wasi:io/poll`. + /// + /// Dropping an `output-stream` while there's still an active write in + /// progress may result in the data being lost. Before dropping the stream, + /// be sure to fully flush your writes. @since(version = 0.2.0) resource output-stream { /// Check readiness for writing. This function never blocks. @@ -192,7 +196,7 @@ interface streams { blocking-flush: func() -> result<_, stream-error>; /// Create a `pollable` which will resolve once the output-stream - /// is ready for more writing, or an error has occured. When this + /// is ready for more writing, or an error has occurred. When this /// pollable is ready, `check-write` will return `ok(n)` with n>0, or an /// error. /// @@ -247,7 +251,7 @@ interface streams { /// Read from one stream and write to another. /// - /// The behavior of splice is equivelant to: + /// The behavior of splice is equivalent to: /// 1. calling `check-write` on the `output-stream` /// 2. calling `read` on the `input-stream` with the smaller of the /// `check-write` permitted length and the `len` provided to `splice` diff --git a/wit/deps/io/world.wit b/wit/deps/io/world.wit index f5c0987..6405a4e 100644 --- a/wit/deps/io/world.wit +++ b/wit/deps/io/world.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.0; +package wasi:io@0.2.1; @since(version = 0.2.0) world imports { diff --git a/wit/deps/random/insecure-seed.wit b/wit/deps/random/insecure-seed.wit index 4cce628..7e708dc 100644 --- a/wit/deps/random/insecure-seed.wit +++ b/wit/deps/random/insecure-seed.wit @@ -1,4 +1,4 @@ -package wasi:random@0.2.0; +package wasi:random@0.2.1; /// The insecure-seed interface for seeding hash-map DoS resistance. /// /// It is intended to be portable at least between Unix-family platforms and diff --git a/wit/deps/random/insecure.wit b/wit/deps/random/insecure.wit index 3cea0c4..3cdb53d 100644 --- a/wit/deps/random/insecure.wit +++ b/wit/deps/random/insecure.wit @@ -1,4 +1,4 @@ -package wasi:random@0.2.0; +package wasi:random@0.2.1; /// The insecure interface for insecure pseudo-random numbers. /// /// It is intended to be portable at least between Unix-family platforms and diff --git a/wit/deps/random/random.wit b/wit/deps/random/random.wit index 41c3a03..2b5035d 100644 --- a/wit/deps/random/random.wit +++ b/wit/deps/random/random.wit @@ -1,4 +1,4 @@ -package wasi:random@0.2.0; +package wasi:random@0.2.1; /// WASI Random is a random data API. /// /// It is intended to be portable at least between Unix-family platforms and diff --git a/wit/deps/random/world.wit b/wit/deps/random/world.wit index b5560a6..c615e96 100644 --- a/wit/deps/random/world.wit +++ b/wit/deps/random/world.wit @@ -1,4 +1,4 @@ -package wasi:random@0.2.0; +package wasi:random@0.2.1; @since(version = 0.2.0) world imports { diff --git a/wit/deps/sockets/ip-name-lookup.wit b/wit/deps/sockets/ip-name-lookup.wit index 0368b48..dc56f30 100644 --- a/wit/deps/sockets/ip-name-lookup.wit +++ b/wit/deps/sockets/ip-name-lookup.wit @@ -1,7 +1,7 @@ @since(version = 0.2.0) interface ip-name-lookup { @since(version = 0.2.0) - use wasi:io/poll@0.2.0.{pollable}; + use wasi:io/poll@0.2.1.{pollable}; @since(version = 0.2.0) use network.{network, error-code, ip-address}; diff --git a/wit/deps/sockets/tcp.wit b/wit/deps/sockets/tcp.wit index e4a6210..bae5a29 100644 --- a/wit/deps/sockets/tcp.wit +++ b/wit/deps/sockets/tcp.wit @@ -1,11 +1,11 @@ @since(version = 0.2.0) interface tcp { @since(version = 0.2.0) - use wasi:io/streams@0.2.0.{input-stream, output-stream}; + use wasi:io/streams@0.2.1.{input-stream, output-stream}; @since(version = 0.2.0) - use wasi:io/poll@0.2.0.{pollable}; + use wasi:io/poll@0.2.1.{pollable}; @since(version = 0.2.0) - use wasi:clocks/monotonic-clock@0.2.0.{duration}; + use wasi:clocks/monotonic-clock@0.2.1.{duration}; @since(version = 0.2.0) use network.{network, error-code, ip-socket-address, ip-address-family}; diff --git a/wit/deps/sockets/udp.wit b/wit/deps/sockets/udp.wit index 48e753c..b289e49 100644 --- a/wit/deps/sockets/udp.wit +++ b/wit/deps/sockets/udp.wit @@ -1,7 +1,7 @@ @since(version = 0.2.0) interface udp { @since(version = 0.2.0) - use wasi:io/poll@0.2.0.{pollable}; + use wasi:io/poll@0.2.1.{pollable}; @since(version = 0.2.0) use network.{network, error-code, ip-socket-address, ip-address-family}; diff --git a/wit/deps/sockets/world.wit b/wit/deps/sockets/world.wit index a1f7d14..a1d4267 100644 --- a/wit/deps/sockets/world.wit +++ b/wit/deps/sockets/world.wit @@ -1,4 +1,4 @@ -package wasi:sockets@0.2.0; +package wasi:sockets@0.2.1; @since(version = 0.2.0) world imports { diff --git a/wit/imports.wit b/wit/imports.wit index cd59ba1..b8339d3 100644 --- a/wit/imports.wit +++ b/wit/imports.wit @@ -1,17 +1,17 @@ -package wasi:cli@0.2.0; +package wasi:cli@0.2.1; @since(version = 0.2.0) world imports { @since(version = 0.2.0) - include wasi:clocks/imports@0.2.0; + include wasi:clocks/imports@0.2.1; @since(version = 0.2.0) - include wasi:filesystem/imports@0.2.0; + include wasi:filesystem/imports@0.2.1; @since(version = 0.2.0) - include wasi:sockets/imports@0.2.0; + include wasi:sockets/imports@0.2.1; @since(version = 0.2.0) - include wasi:random/imports@0.2.0; + include wasi:random/imports@0.2.1; @since(version = 0.2.0) - include wasi:io/imports@0.2.0; + include wasi:io/imports@0.2.1; @since(version = 0.2.0) import environment; diff --git a/wit/stdio.wit b/wit/stdio.wit index e9502a9..d1d26eb 100644 --- a/wit/stdio.wit +++ b/wit/stdio.wit @@ -1,7 +1,7 @@ @since(version = 0.2.0) interface stdin { @since(version = 0.2.0) - use wasi:io/streams@0.2.0.{input-stream}; + use wasi:io/streams@0.2.1.{input-stream}; @since(version = 0.2.0) get-stdin: func() -> input-stream; @@ -10,7 +10,7 @@ interface stdin { @since(version = 0.2.0) interface stdout { @since(version = 0.2.0) - use wasi:io/streams@0.2.0.{output-stream}; + use wasi:io/streams@0.2.1.{output-stream}; @since(version = 0.2.0) get-stdout: func() -> output-stream; @@ -19,7 +19,7 @@ interface stdout { @since(version = 0.2.0) interface stderr { @since(version = 0.2.0) - use wasi:io/streams@0.2.0.{output-stream}; + use wasi:io/streams@0.2.1.{output-stream}; @since(version = 0.2.0) get-stderr: func() -> output-stream;