summaryrefslogtreecommitdiff
path: root/runtime/ops
AgeCommit message (Collapse)Author
2021-04-05refactor: convert ops to use serde_v8 (#10009)Aaron O'Mullan
This commit rewrites most of the ops to use "serde_v8" instead of "json" serialization.
2021-04-03refactor: Switch op_now to be a json-op (#9974)Aaron O'Mullan
2021-04-02refactor(ops): remove variadic buffers (#9944)Aaron O'Mullan
2021-03-31refactor: new optimized op-layer using serde_v8 (#9843)Aaron O'Mullan
- Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups
2021-03-27chore: Add missing copyright headers (#9910)Aaron O'Mullan
2021-03-26remove macro_use (#9884)Ryan Dahl
2021-03-25upgrade: Rust 1.51.0 (#9895)Yusuke Tanaka
2021-03-21refactor(runtime/permissions): Rename permission structs (#9841)Nayeem Rahman
2021-03-20refactor: Move bin ops to deno_core and unify logic with json ops (#9457)Inteon
This commit moves implementation of bin ops to "deno_core" crates as well as unifying logic between bin ops and json ops to reuse as much code as possible (both in Rust and JavaScript).
2021-03-20fix(op_crates/webgpu): create instance only when required (#9771)crowlKats
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-03-19refactor(runtime/ops/worker_host): simplify worker perms handling (#9835)crowlKats
2021-03-19chores: enforce type ResourceId across codebase (#9837)Divy Srivastava
2021-03-18normalize rids (#9832)crowlKats
2021-03-18fix: fallback to default UA and CA data for Deno.createHttpClient() (#9830)Aaron O'Mullan
2021-03-18move runtime ops to serde ops (#9828)crowlKats
2021-03-18refactor: update minimal ops & rename to buffer ops (#9719)Inteon
This commit rewrites "dispatch_minimal" into "dispatch_buffer". It's part of an effort to unify JS interface for ops for both json and minimal (buffer) ops. Before this commit "minimal ops" could be either sync or async depending on the return type from the op, but this commit changes it to have separate signatures for sync and async ops (just like in case of json ops).
2021-03-17refactor: clean up permission handling (#9367)crowlKats
2021-03-12chore: split web op crate (#9635)Luca Casonato
This commit starts splitting out the deno_web op crate into multiple smaller crates. This commit splits out WebIDL and URL API, but in the future I want to split out each spec into its own crate. That means we will have (in rough order of loading): `webidl`, `dom`, `streams`, `console`, `encoding`, `url`, `file`, `fetch`, `websocket`, and `webgpu` crates.
2021-03-01feat: WebGPU API (#7977)crowlKats
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-02-26feat(runtime): stabilize Deno.symlink and Deno.symlinkSync (#9226)Casper Beyer
2021-02-25feat(runtime): stabilize Deno.link and Deno.linkSync (#9417)Casper Beyer
This commit makes "Deno.link" and "Deno.linkSync" stable. The permission required has been changed to read-write to ensure one cannot escape the sandbox.
2021-02-25fix(runtime): do not panic on irregular dir entries (#9579)Casper Beyer
2021-02-23fix: panic caused by Deno.env.set("", "") (#9583)Kohei Ueno
2021-02-21feat(unstable): per op metrics (#9240)Luca Casonato
2021-02-18feat(runtime/ops): strongly typed deserialization of JSON ops (#9532)crowlKats
2021-02-17Make ModuleSpecifier a type alias, not wrapper struct (#9531)Ryan Dahl
2021-02-12chore: Update to Rust 1.50.0 (#9479)Kitson Kelly
2021-02-11fix(runtime/tls): handle invalid host for connectTls/startTls (#9453)Erik Price
2021-02-07fix(runtime/tls): remove unnecessary clone calls (#9429)Ben Noordhuis
2021-02-01chore: make all tests annotated with `#[cfg(test)]` (#9347)Yusuke Tanaka
2021-01-29refactor: IO resource types, fix concurrent read/write and graceful close ↵Bert Belder
(#9118) Fixes: 9032.
2021-01-20fix(ops/net): fix panic in op_dns_resolve (#9187)Yoshiya Hinosawa
2021-01-19fix(cli): actually stabilize Deno.shutdown() (#9181)Bert Belder
2021-01-19feat(unstable): add Deno.resolveDns API (#8790)Yusuke Tanaka
2021-01-15core(runtime): fix copyright in date (#9116)Liam Murphy
2021-01-15refactor(op_crates/crypto): Prefix ops with "op_crypto_" (#9067)Yacine Hmito
2021-01-14refactor: make Process#kill() throw sensible errors on Windows (#9111)Bert Belder
Previously, calling `Process#kill()` after the process had exited would sometimes throw a `TypeError` on Windows. After this patch, it will throw `NotFound` instead, just like other platforms. This patch also fixes flakiness of the `runKillAfterStatus` test on Windows.
2021-01-12feat(runtime/tls): add global tls session cache (#8877)Ben Noordhuis
Fixes #8875
2021-01-12feat: stabilize Deno.shutdown() and Conn#closeWrite()Bartek Iwańczuk
Closes: #9099
2021-01-11upgrade: tokio 1.0 (#8779)Bartek Iwańczuk
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-01-10update copyright to 2021 (#9081)Ryan Dahl
2021-01-10feat(fetch): req streaming + 0-copy resp streaming (#9036)Luca Casonato
* feat(fetch): req streaming + 0-copy resp streaming * lint * lint * fix test * rm test.js * explicitly use CancelHandle::default() * Apply review suggestions Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl> * fix test * Merge remote-tracking branch 'origin/master' into fetch_real_streaming * fix test * retrigger ci Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
2021-01-08fix(runtime): use tokio for async fs ops (#9042)Casper Beyer
This commit makes following ops async: - op_fstat_async - op_ftruncate_async - op_seek_async - op_fdatasync_async - op_fsync_async - op_futime_async
2021-01-06feat: Add configurable permissions for Workers (#8215)Steven Guerrero
This commit adds new option to "Worker" Web API that allows to configure permissions. New "Worker.deno.permissions" option can be used to define limited permissions to the worker thread by either: - inherit set of parent thread permissions - use limited subset of parent thread permissions - revoke all permissions (full sandbox) In order to achieve this functionality "CliModuleLoader" was modified to accept "initial permissions", which are used for top module loading (ie. uses parent thread permission set to load top level module of a worker).
2021-01-06refactor: move WebSocket API to an op_crate (#9026)Luca Casonato
2021-01-05fix(runtime/websocket): respond to ping with pong (#8974)crowlKats
2021-01-05feat(cli/standalone): support runtime flags for deno compile (#8738)Nayeem Rahman
2021-01-02upgrade: Rust 1.49.0 (#8955)Bartek Iwańczuk
2020-12-30BREAKING(unstable): Use hosts for net allowlists (#8845)Nayeem Rahman
Allowlist checking already uses hosts but for some reason requests, revokes and the runtime permissions API use URLs. - BREAKING(lib.deno.unstable.d.ts): Change NetPermissionDescriptor::url to NetPermissionDescriptor::host - fix(runtime/permissions): Don't add whole URLs to the allowlist on request - fix(runtime/permissions): Harden strength semantics: ({ name: "net", host: "127.0.0.1" } is stronger than { name: "net", host: "127.0.0.1:8000" }) for blocklisting - refactor(runtime/permissions): Use tuples for hosts, make the host optional in Permissions::{query_net, request_net, revoke_net}()
2020-12-29refactor(runtime): return iterator from resolve_addr (#8891)Yusuke Tanaka