fix(wasi): enable all WasiFiles to be pollable (#3913)

Currently, the use of the downcast method means that you have to use one
of the hard-coded types. But Enarx needs to define its own `WasiFile`
implementations. This works fine, except the resulting files cannot be
used in poll because they aren't part of the hard-coded list.

Replace this with an accessor method for the pollable type in
`WasiFile`. Because we provide a default implementation of the method
and manually implement it on all the hard-coded types, this is backwards
compatible.

Signed-off-by: Nathaniel McCallum <nathaniel@profian.com>
This commit is contained in:
Nathaniel McCallum
2022-03-10 13:09:06 -05:00
committed by GitHub
parent 13b9396931
commit 0df4e961c0
10 changed files with 84 additions and 150 deletions

View File

@@ -30,6 +30,7 @@ bitflags = "1.2"
rustix = "0.33.0"
[target.'cfg(windows)'.dependencies]
io-extras = "0.13.2"
winapi = "0.3"
[badges]