diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-08-14 19:54:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-14 19:54:35 -0400 |
commit | 498f6ad431478f655b136782093e19e29248b24d (patch) | |
tree | f1a39982a1a372422ea93b1c9bd7298fe9a1e838 /cli/ops/io.rs | |
parent | e6c349af9f7260c2c4ec713bd231fe554240721e (diff) |
Remove dead code: legacy read/write ops (#2776)
readSync and writeSync use dispatch_minimal now.
Diffstat (limited to 'cli/ops/io.rs')
-rw-r--r-- | cli/ops/io.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cli/ops/io.rs b/cli/ops/io.rs new file mode 100644 index 000000000..610238942 --- /dev/null +++ b/cli/ops/io.rs @@ -0,0 +1,43 @@ +use super::dispatch_minimal::MinimalOp; +use crate::deno_error; +use crate::resources; +use crate::tokio_write; +use deno::ErrBox; +use deno::PinnedBuf; +use futures::Future; + +pub fn op_read(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> { + debug!("read rid={}", rid); + let zero_copy = match zero_copy { + None => { + return Box::new(futures::future::err(deno_error::no_buffer_specified())) + } + Some(buf) => buf, + }; + match resources::lookup(rid as u32) { + None => Box::new(futures::future::err(deno_error::bad_resource())), + Some(resource) => Box::new( + tokio::io::read(resource, zero_copy) + .map_err(ErrBox::from) + .and_then(move |(_resource, _buf, nread)| Ok(nread as i32)), + ), + } +} + +pub fn op_write(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> { + debug!("write rid={}", rid); + let zero_copy = match zero_copy { + None => { + return Box::new(futures::future::err(deno_error::no_buffer_specified())) + } + Some(buf) => buf, + }; + match resources::lookup(rid as u32) { + None => Box::new(futures::future::err(deno_error::bad_resource())), + Some(resource) => Box::new( + tokio_write::write(resource, zero_copy) + .map_err(ErrBox::from) + .and_then(move |(_resource, _buf, nwritten)| Ok(nwritten as i32)), + ), + } +} |