diff options
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/fsapi')
3 files changed, 0 insertions, 116 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/fsapi/file.go b/vendor/github.com/tetratelabs/wazero/internal/fsapi/file.go deleted file mode 100644 index 0640b2271..000000000 --- a/vendor/github.com/tetratelabs/wazero/internal/fsapi/file.go +++ /dev/null @@ -1,69 +0,0 @@ -package fsapi - -import experimentalsys "github.com/tetratelabs/wazero/experimental/sys" - -// File includes methods not yet ready to document for end users, notably -// non-blocking functionality. -// -// Particularly, Poll is subject to debate. For example, whether a user should -// be able to choose how to implement timeout or not. Currently, this interface -// allows the user to choose to sleep or use native polling, and which choice -// they make impacts thread behavior as summarized here: -// https://github.com/tetratelabs/wazero/pull/1606#issuecomment-1665475516 -type File interface { - experimentalsys.File - - // IsNonblock returns true if the file was opened with O_NONBLOCK, or - // SetNonblock was successfully enabled on this file. - // - // # Notes - // - // - This might not match the underlying state of the file descriptor if - // the file was not opened via OpenFile. - IsNonblock() bool - - // SetNonblock toggles the non-blocking mode (O_NONBLOCK) of this file. - // - // # Errors - // - // A zero Errno is success. The below are expected otherwise: - // - ENOSYS: the implementation does not support this function. - // - EBADF: the file or directory was closed. - // - // # Notes - // - // - This is like syscall.SetNonblock and `fcntl` with O_NONBLOCK in - // POSIX. See https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html - SetNonblock(enable bool) experimentalsys.Errno - - // Poll returns if the file has data ready to be read or written. - // - // # Parameters - // - // The `flag` parameter determines which event to await, such as POLLIN, - // POLLOUT, or a combination like `POLLIN|POLLOUT`. - // - // The `timeoutMillis` parameter is how long to block for an event, or - // interrupted, in milliseconds. There are two special values: - // - zero returns immediately - // - any negative value blocks any amount of time - // - // # Results - // - // `ready` means there was data ready to read or written. False can mean no - // event was ready or `errno` is not zero. - // - // A zero `errno` is success. The below are expected otherwise: - // - ENOSYS: the implementation does not support this function. - // - ENOTSUP: the implementation does not the flag combination. - // - EINTR: the call was interrupted prior to an event. - // - // # Notes - // - // - This is like `poll` in POSIX, for a single file. - // See https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html - // - No-op files, such as those which read from /dev/null, should return - // immediately true, as data will never become available. - // - See /RATIONALE.md for detailed notes including impact of blocking. - Poll(flag Pflag, timeoutMillis int32) (ready bool, errno experimentalsys.Errno) -} diff --git a/vendor/github.com/tetratelabs/wazero/internal/fsapi/poll.go b/vendor/github.com/tetratelabs/wazero/internal/fsapi/poll.go deleted file mode 100644 index 25f7c5711..000000000 --- a/vendor/github.com/tetratelabs/wazero/internal/fsapi/poll.go +++ /dev/null @@ -1,20 +0,0 @@ -package fsapi - -// Pflag are bit flags used for File.Poll. Values, including zero, should not -// be interpreted numerically. Instead, use by constants prefixed with 'POLL'. -// -// # Notes -// -// - This is like `pollfd.events` flags for `poll` in POSIX. See -// https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html -type Pflag uint32 - -// Only define bitflags we support and are needed by `poll_oneoff` in wasip1 -// See https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#eventrwflags -const ( - // POLLIN is a read event. - POLLIN Pflag = 1 << iota - - // POLLOUT is a write event. - POLLOUT -) diff --git a/vendor/github.com/tetratelabs/wazero/internal/fsapi/unimplemented.go b/vendor/github.com/tetratelabs/wazero/internal/fsapi/unimplemented.go deleted file mode 100644 index 99d9c2db3..000000000 --- a/vendor/github.com/tetratelabs/wazero/internal/fsapi/unimplemented.go +++ /dev/null @@ -1,27 +0,0 @@ -package fsapi - -import experimentalsys "github.com/tetratelabs/wazero/experimental/sys" - -func Adapt(f experimentalsys.File) File { - if f, ok := f.(File); ok { - return f - } - return unimplementedFile{f} -} - -type unimplementedFile struct{ experimentalsys.File } - -// IsNonblock implements File.IsNonblock -func (unimplementedFile) IsNonblock() bool { - return false -} - -// SetNonblock implements File.SetNonblock -func (unimplementedFile) SetNonblock(bool) experimentalsys.Errno { - return experimentalsys.ENOSYS -} - -// Poll implements File.Poll -func (unimplementedFile) Poll(Pflag, int32) (ready bool, errno experimentalsys.Errno) { - return false, experimentalsys.ENOSYS -} |