summaryrefslogtreecommitdiff
path: root/cli/ops/resources.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-08-28 17:08:24 +0200
committerGitHub <noreply@github.com>2020-08-28 17:08:24 +0200
commit7e946858a4a0a03c1461590c6fc8a315738a627a (patch)
tree5a6a391fead573b85fb905bb5c4ea8287dc18d13 /cli/ops/resources.rs
parent31f32ed8c4082d36ad2a4ea460366c0d57a5ddbc (diff)
refactor: migrate ops to new dispatch wrapper (#7118)
Diffstat (limited to 'cli/ops/resources.rs')
-rw-r--r--cli/ops/resources.rs29
1 files changed, 15 insertions, 14 deletions
diff --git a/cli/ops/resources.rs b/cli/ops/resources.rs
index fb3c1bc79..0493aeed3 100644
--- a/cli/ops/resources.rs
+++ b/cli/ops/resources.rs
@@ -1,42 +1,43 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-use super::dispatch_json::{Deserialize, JsonOp, Value};
+use super::dispatch_json::{Deserialize, Value};
use crate::state::State;
use deno_core::CoreIsolate;
-use deno_core::CoreIsolateState;
use deno_core::ErrBox;
+use deno_core::ResourceTable;
use deno_core::ZeroCopyBuf;
use std::rc::Rc;
pub fn init(i: &mut CoreIsolate, s: &Rc<State>) {
- i.register_op("op_resources", s.stateful_json_op2(op_resources));
- i.register_op("op_close", s.stateful_json_op2(op_close));
+ let t = &CoreIsolate::state(i).borrow().resource_table.clone();
+
+ i.register_op("op_resources", s.stateful_json_op_sync(t, op_resources));
+ i.register_op("op_close", s.stateful_json_op_sync(t, op_close));
}
fn op_resources(
- isolate_state: &mut CoreIsolateState,
- _state: &Rc<State>,
+ _state: &State,
+ resource_table: &mut ResourceTable,
_args: Value,
_zero_copy: &mut [ZeroCopyBuf],
-) -> Result<JsonOp, ErrBox> {
- let serialized_resources = isolate_state.resource_table.borrow().entries();
- Ok(JsonOp::Sync(json!(serialized_resources)))
+) -> Result<Value, ErrBox> {
+ let serialized_resources = resource_table.entries();
+ Ok(json!(serialized_resources))
}
/// op_close removes a resource from the resource table.
fn op_close(
- isolate_state: &mut CoreIsolateState,
- _state: &Rc<State>,
+ _state: &State,
+ resource_table: &mut ResourceTable,
args: Value,
_zero_copy: &mut [ZeroCopyBuf],
-) -> Result<JsonOp, ErrBox> {
+) -> Result<Value, ErrBox> {
#[derive(Deserialize)]
struct CloseArgs {
rid: i32,
}
let args: CloseArgs = serde_json::from_value(args)?;
- let mut resource_table = isolate_state.resource_table.borrow_mut();
resource_table
.close(args.rid as u32)
.ok_or_else(ErrBox::bad_resource_id)?;
- Ok(JsonOp::Sync(json!({})))
+ Ok(json!({}))
}