summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/internal/fsapi/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/fsapi/file.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/fsapi/file.go69
1 files changed, 0 insertions, 69 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)
-}