summaryrefslogtreecommitdiff
path: root/cli/ops/mod.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-08-26 14:50:21 +0200
committerRyan Dahl <ry@tinyclouds.org>2019-08-26 08:50:21 -0400
commit520f9631e09aa720fd8c03513ee8ea967f5ed4b2 (patch)
treefc3d1bd5182452ca1865a5c2631355e0895af94c /cli/ops/mod.rs
parent017f88ee99b0fe40221e6af92e0b6a976fbaf2ad (diff)
bring back json ops (#2815)
Diffstat (limited to 'cli/ops/mod.rs')
-rw-r--r--cli/ops/mod.rs180
1 files changed, 180 insertions, 0 deletions
diff --git a/cli/ops/mod.rs b/cli/ops/mod.rs
index 240132960..4636754c9 100644
--- a/cli/ops/mod.rs
+++ b/cli/ops/mod.rs
@@ -34,6 +34,40 @@ pub const OP_IS_TTY: OpId = 4;
pub const OP_ENV: OpId = 5;
pub const OP_EXEC_PATH: OpId = 6;
pub const OP_UTIME: OpId = 7;
+pub const OP_SET_ENV: OpId = 8;
+pub const OP_HOME_DIR: OpId = 9;
+pub const OP_START: OpId = 10;
+pub const OP_APPLY_SOURCE_MAP: OpId = 11;
+pub const OP_FORMAT_ERROR: OpId = 12;
+pub const OP_CACHE: OpId = 13;
+pub const OP_FETCH_SOURCE_FILE: OpId = 14;
+pub const OP_OPEN: OpId = 15;
+pub const OP_CLOSE: OpId = 16;
+pub const OP_SEEK: OpId = 17;
+pub const OP_FETCH: OpId = 18;
+pub const OP_METRICS: OpId = 19;
+pub const OP_REPL_START: OpId = 20;
+pub const OP_REPL_READLINE: OpId = 21;
+pub const OP_ACCEPT: OpId = 22;
+pub const OP_DIAL: OpId = 23;
+pub const OP_SHUTDOWN: OpId = 24;
+pub const OP_LISTEN: OpId = 25;
+pub const OP_RESOURCES: OpId = 26;
+pub const OP_GET_RANDOM_VALUES: OpId = 27;
+pub const OP_GLOBAL_TIMER_STOP: OpId = 28;
+pub const OP_GLOBAL_TIMER: OpId = 29;
+pub const OP_NOW: OpId = 30;
+pub const OP_PERMISSIONS: OpId = 31;
+pub const OP_REVOKE_PERMISSION: OpId = 32;
+pub const OP_CREATE_WORKER: OpId = 33;
+pub const OP_HOST_GET_WORKER_CLOSED: OpId = 34;
+pub const OP_HOST_POST_MESSAGE: OpId = 35;
+pub const OP_HOST_GET_MESSAGE: OpId = 36;
+pub const OP_WORKER_POST_MESSAGE: OpId = 37;
+pub const OP_WORKER_GET_MESSAGE: OpId = 38;
+pub const OP_RUN: OpId = 39;
+pub const OP_RUN_STATUS: OpId = 40;
+pub const OP_KILL: OpId = 41;
pub fn dispatch(
state: &ThreadSafeState,
@@ -59,9 +93,155 @@ pub fn dispatch(
OP_EXEC_PATH => {
dispatch_json::dispatch(os::op_exec_path, state, control, zero_copy)
}
+ OP_HOME_DIR => {
+ dispatch_json::dispatch(os::op_home_dir, state, control, zero_copy)
+ }
OP_UTIME => {
dispatch_json::dispatch(fs::op_utime, state, control, zero_copy)
}
+ OP_SET_ENV => {
+ dispatch_json::dispatch(os::op_set_env, state, control, zero_copy)
+ }
+ OP_START => {
+ dispatch_json::dispatch(os::op_start, state, control, zero_copy)
+ }
+ OP_APPLY_SOURCE_MAP => dispatch_json::dispatch(
+ errors::op_apply_source_map,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_FORMAT_ERROR => dispatch_json::dispatch(
+ errors::op_format_error,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_CACHE => {
+ dispatch_json::dispatch(compiler::op_cache, state, control, zero_copy)
+ }
+ OP_FETCH_SOURCE_FILE => dispatch_json::dispatch(
+ compiler::op_fetch_source_file,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_OPEN => {
+ dispatch_json::dispatch(files::op_open, state, control, zero_copy)
+ }
+ OP_CLOSE => {
+ dispatch_json::dispatch(files::op_close, state, control, zero_copy)
+ }
+ OP_SEEK => {
+ dispatch_json::dispatch(files::op_seek, state, control, zero_copy)
+ }
+ OP_METRICS => {
+ dispatch_json::dispatch(metrics::op_metrics, state, control, zero_copy)
+ }
+ OP_FETCH => {
+ dispatch_json::dispatch(fetch::op_fetch, state, control, zero_copy)
+ }
+ OP_REPL_START => {
+ dispatch_json::dispatch(repl::op_repl_start, state, control, zero_copy)
+ }
+ OP_REPL_READLINE => {
+ dispatch_json::dispatch(repl::op_repl_readline, state, control, zero_copy)
+ }
+ OP_ACCEPT => {
+ dispatch_json::dispatch(net::op_accept, state, control, zero_copy)
+ }
+ OP_DIAL => dispatch_json::dispatch(net::op_dial, state, control, zero_copy),
+ OP_SHUTDOWN => {
+ dispatch_json::dispatch(net::op_shutdown, state, control, zero_copy)
+ }
+ OP_LISTEN => {
+ dispatch_json::dispatch(net::op_listen, state, control, zero_copy)
+ }
+ OP_RESOURCES => dispatch_json::dispatch(
+ resources::op_resources,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_GET_RANDOM_VALUES => dispatch_json::dispatch(
+ random::op_get_random_values,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_GLOBAL_TIMER_STOP => dispatch_json::dispatch(
+ timers::op_global_timer_stop,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_GLOBAL_TIMER => dispatch_json::dispatch(
+ timers::op_global_timer,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_NOW => {
+ dispatch_json::dispatch(performance::op_now, state, control, zero_copy)
+ }
+ OP_PERMISSIONS => dispatch_json::dispatch(
+ permissions::op_permissions,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_REVOKE_PERMISSION => dispatch_json::dispatch(
+ permissions::op_revoke_permission,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_CREATE_WORKER => dispatch_json::dispatch(
+ workers::op_create_worker,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_HOST_GET_WORKER_CLOSED => dispatch_json::dispatch(
+ workers::op_host_get_worker_closed,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_HOST_POST_MESSAGE => dispatch_json::dispatch(
+ workers::op_host_post_message,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_HOST_GET_MESSAGE => dispatch_json::dispatch(
+ workers::op_host_get_message,
+ state,
+ control,
+ zero_copy,
+ ),
+ // TODO: make sure these two ops are only accessible to appropriate Workers
+ OP_WORKER_POST_MESSAGE => dispatch_json::dispatch(
+ workers::op_worker_post_message,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_WORKER_GET_MESSAGE => dispatch_json::dispatch(
+ workers::op_worker_get_message,
+ state,
+ control,
+ zero_copy,
+ ),
+ OP_RUN => {
+ dispatch_json::dispatch(process::op_run, state, control, zero_copy)
+ }
+ OP_RUN_STATUS => {
+ dispatch_json::dispatch(process::op_run_status, state, control, zero_copy)
+ }
+ OP_KILL => {
+ dispatch_json::dispatch(process::op_kill, state, control, zero_copy)
+ }
OP_FLATBUFFER => dispatch_flatbuffers::dispatch(state, control, zero_copy),
_ => panic!("bad op_id"),
};