summaryrefslogtreecommitdiff
path: root/src/msg.fbs
diff options
context:
space:
mode:
authorKevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>2019-02-18 15:26:41 -0800
committerRyan Dahl <ry@tinyclouds.org>2019-02-18 18:26:41 -0500
commit077af20ceb0869ddff9e08f5db1055138450fe2e (patch)
tree6bc51ad2112d7828b3dbc641050f1b098d836254 /src/msg.fbs
parent97e29e3dd068c938ec5f8346183f8f523dea23c0 (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.fbs8
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;