diff options
| author | Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com> | 2019-02-18 15:26:41 -0800 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2019-02-18 18:26:41 -0500 |
| commit | 077af20ceb0869ddff9e08f5db1055138450fe2e (patch) | |
| tree | 6bc51ad2112d7828b3dbc641050f1b098d836254 /src/msg.fbs | |
| parent | 97e29e3dd068c938ec5f8346183f8f523dea23c0 (diff) | |
Add `seek` and implement `Seeker` on `File` (#1797)
This patch contains a special hack that circumvents the current tokio
seek problem.
tokio `seek` is implemented to take ownership of the original File and
emit a new one in its future, which conflicts with the design of
ResourceTable.
To avoid the problem, the current hack makes the FsFile resource
an Option which we could `take` the value ownership out of it. We then
convert the tokio File into a Rust std File, perform the seek, and then
put it back into the resource.
This might be able to drop this hack after
https://github.com/tokio-rs/tokio/pull/785 lands.
Diffstat (limited to 'src/msg.fbs')
| -rw-r--r-- | src/msg.fbs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/msg.fbs b/src/msg.fbs index fcf29ad58..9776bb893 100644 --- a/src/msg.fbs +++ b/src/msg.fbs @@ -65,6 +65,7 @@ union Any { NowRes, IsTTY, IsTTYRes, + Seek, } enum ErrorKind: byte { @@ -117,6 +118,7 @@ enum ErrorKind: byte { // custom errors InvalidUri, + InvalidSeekMode, } table Cwd {} @@ -496,4 +498,10 @@ table IsTTYRes { stderr: bool; } +table Seek { + rid: uint32; + offset: int; + whence: uint; +} + root_type Base; |
