diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2019-08-26 14:50:21 +0200 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-08-26 08:50:21 -0400 |
commit | 520f9631e09aa720fd8c03513ee8ea967f5ed4b2 (patch) | |
tree | fc3d1bd5182452ca1865a5c2631355e0895af94c /cli/ops/mod.rs | |
parent | 017f88ee99b0fe40221e6af92e0b6a976fbaf2ad (diff) |
bring back json ops (#2815)
Diffstat (limited to 'cli/ops/mod.rs')
-rw-r--r-- | cli/ops/mod.rs | 180 |
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"), }; |