summaryrefslogtreecommitdiff
path: root/cli/ops/timers.rs
AgeCommit message (Collapse)Author
2020-12-13refactor: deno_runtime crate (#8640)Bartek Iwańczuk
This commit moves Deno JS runtime, ops, permissions and inspector implementation to new "deno_runtime" crate located in "runtime/" directory. Details in "runtime/README.md". Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-12-07perf: use minimal op with performance.now() (#8619)Steven Guerrero
2020-10-15feat(cli/ops): add the sleep_sync op (#7974)William Perron
2020-09-28refactor: move op state registration to workers (#7696)Bartek Iwańczuk
2020-09-22fix: clearing timers race condition (#7617)Bartek Iwańczuk
2020-09-21refactor: use futures and serde_json from deno_core (#7614)Bartek Iwańczuk
2020-09-20refactor: remove CliState, use OpState, add CliModuleLoader (#7588)Bartek Iwańczuk
- remove "CliState.workers" and "CliState.next_worker_id", instead store them on "OpState" using type aliases. - remove "CliState.global_timer" and "CliState.start_time", instead store them on "OpState" using type aliases. - remove "CliState.is_internal", instead pass it to Worker::new - move "CliState::permissions" to "OpState" - move "CliState::main_module" to "OpState" - move "CliState::global_state" to "OpState" - move "CliState::check_unstable()" to "GlobalState" - change "cli_state()" to "global_state()" - change "deno_core::ModuleLoader" trait to pass "OpState" to callbacks - rename "CliState" to "CliModuleLoader"
2020-09-18refactor: move fields from CliState to OpState (#7558)Bartek Iwańczuk
- move rng to OpState - move GlobalTimer to OpState - move Metrics to OpState
2020-09-16Remove unnecessary serde_derive dependencyRyan Dahl
2020-09-15refactor: use the 'anyhow' crate instead of 'ErrBox' (#7476)Bert Belder
2020-09-10Use gotham-like state for ops (#7385)Ryan Dahl
Provides a concrete state type that can be dynamically added. This is necessary for op crates. * renames BasicState to OpState * async ops take `Rc<RefCell<OpState>>` * sync ops take `&mut OpState` * removes `OpRegistry`, `OpRouter` traits * `get_error_class_fn` moved to OpState * ResourceTable moved to OpState
2020-09-06Move JSON ops to deno_core (#7336)Bert Belder
2020-08-28refactor: migrate ops to new dispatch wrapper (#7118)Bartek Iwańczuk
2020-08-26refactor: remove OpError, use ErrBox everywhere (#7187)Bert Belder
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-08-19Make Rc/Arc wrapper around State/GlobalState visible (#7104)Bert Belder
2020-08-18refactor: permissions (#7074)Nayeem Rahman
2020-06-01feat(core): Ops can take several zero copy buffers (#4788)Valentin Anger
2020-04-23Rename deno_core::Isolate to deno_core::CoreIsolate (#4851)Ryan Dahl
2020-04-03clippy (#4618)Kitson Kelly
2020-02-25Clean up how we use opIds (#4118)Ryan Dahl
2020-02-23refactor: use OpError instead of ErrBox for errors in ops (#4058)Bartek Iwańczuk
To better reflect changes in error types in JS from #3662 this PR changes default error type used in ops from "ErrBox" to "OpError". "OpError" is a type that can be sent over to JSON; it has all information needed to construct error in JavaScript. That made "GetErrorKind" trait useless and so it was removed altogether. To provide compatibility with previous use of "ErrBox" an implementation of "From<ErrBox> for OpError" was added, however, it is an escape hatch and ops implementors should strive to use "OpError" directly.
2020-02-08refactor: rename ThreadSafeState, use RefCell for mutable state (#3931)Bartek Iwańczuk
* rename ThreadSafeState to State * State stores InnerState wrapped in Rc and RefCell
2020-02-03refactor: Use Tokio's single-threaded runtime (#3844)Ryan Dahl
This change simplifies how we execute V8. Previously V8 Isolates jumped around threads every time they were woken up. This was overly complex and potentially hurting performance in a myriad ways. Now isolates run on their own dedicated thread and never move. - blocking_json spawns a thread and does not use a thread pool - op_host_poll_worker and op_host_resume_worker are non-operational - removes Worker::get_message and Worker::post_message - ThreadSafeState::workers table contains WorkerChannel entries instead of actual Worker instances. - MainWorker and CompilerWorker are no longer Futures. - The multi-threaded version of deno_core_http_bench was removed. - AyncOps no longer need to be Send + Sync This PR is very large and several tests were disabled to speed integration: - installer_test_local_module_run - installer_test_remote_module_run - _015_duplicate_parallel_import - _026_workers
2020-01-24s/PinnedBuf/ZeroCopyBuf (#3782)Ryan Dahl
2020-01-05Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600)Ry Dahl
2020-01-02Happy new year! (#3578)Ry Dahl
2019-11-24refactor: Elevate DenoPermissions lock to top level (#3398)Kevin (Kun) "Kassimo" Qian
2019-11-16Use futures 0.3 API (#3358)Bartek Iwańczuk
2019-10-27Use web standard Permissions API (#3200)Yoshiya Hinosawa
2019-10-11Add init methods for each op module (#3087)Ryan Dahl
2019-09-20js: reschedule global timer if it fires earlier than expected (#2989)Bert Belder
When the global timer fires earlier than expected, which apparently happens sometimes on server editions of Windows, we didn't call any setTimeout callbacks, but we *also* didn't reschedule the global timer to fire again later. When this situation occurred it would make deno exit abruptly if there were no other asynchronous ops running on the event loop. It could also lead to application hangs if the upcoming setTimeout callback was critical for the application to make progress.
2019-08-26bring back json ops (#2815)Bartek Iwańczuk
2019-08-24Revert json ops (#2814)Ryan Dahl
* Revert "port more ops to JSON (#2809)" This reverts commit 137f33733d365026903d40e7cde6e34ac6c36dcf. * Revert "port ops to JSON: compiler, errors, fetch, files (#2804)" This reverts commit 79f82cf10ed1dbf91346994250d7311a4d74377a. * Revert "Port rest of os ops to JSON (#2802)" This reverts commit 5b2baa5c990fbeae747e952c5dcd7a5369e950b1.
2019-08-24port more ops to JSON (#2809)Bartek Iwańczuk
2019-08-21Organize dispatch a bit (#2796)Ryan Dahl
Just some clean up reorganization around flatbuffer/minimal dispatch code. This is prep for adding a JSON dispatcher.
2019-08-14split up ops.rs (#2753)Bartek Iwańczuk
Note cli/dispatch_minimal.rs ops are not yet included in cli/ops. This is part of work towards #2730