summaryrefslogtreecommitdiff
path: root/cli/dispatch_minimal.rs
diff options
context:
space:
mode:
authordiskkid <disk2id@gmail.com>2019-05-16 03:50:54 +0900
committerRyan Dahl <ry@tinyclouds.org>2019-05-15 14:50:54 -0400
commit2508480465a25d5d87c407081feb6160f9707cab (patch)
treecaba9c9a875886e56be25ecbda80973b71c3cb68 /cli/dispatch_minimal.rs
parenta00fa7056bb6493e3ca010afc4335f099dac0807 (diff)
Add error handling to dispatch_minimal::ops::read/write (#2349)
Diffstat (limited to 'cli/dispatch_minimal.rs')
-rw-r--r--cli/dispatch_minimal.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/cli/dispatch_minimal.rs b/cli/dispatch_minimal.rs
index a3a383393..0e20d3b1a 100644
--- a/cli/dispatch_minimal.rs
+++ b/cli/dispatch_minimal.rs
@@ -133,7 +133,12 @@ mod ops {
pub fn read(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> {
debug!("read rid={}", rid);
- let zero_copy = zero_copy.unwrap();
+ let zero_copy = match zero_copy {
+ None => {
+ return Box::new(futures::future::err(errors::no_buffer_specified()))
+ }
+ Some(buf) => buf,
+ };
match resources::lookup(rid as u32) {
None => Box::new(futures::future::err(errors::bad_resource())),
Some(resource) => Box::new(
@@ -146,7 +151,12 @@ mod ops {
pub fn write(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> {
debug!("write rid={}", rid);
- let zero_copy = zero_copy.unwrap();
+ let zero_copy = match zero_copy {
+ None => {
+ return Box::new(futures::future::err(errors::no_buffer_specified()))
+ }
+ Some(buf) => buf,
+ };
match resources::lookup(rid as u32) {
None => Box::new(futures::future::err(errors::bad_resource())),
Some(resource) => Box::new(