summaryrefslogtreecommitdiff
path: root/core/resources.rs
AgeCommit message (Collapse)Author
2022-04-22Reland "perf(http): optimize ReadableStreams backed by a resource" (#14346)Divy Srivastava
2022-04-21Revert various PRs related to "ext/http" (#14339)Bartek Iwańczuk
* Revert "feat(ext/http): stream auto resp body compression (#14325)" * Revert "core: introduce `resource.read_return` (#14331)" * Revert "perf(http): optimize `ReadableStream`s backed by a resource (#14284)"
2022-04-20core: introduce `resource.read_return` (#14331)Divy Srivastava
2022-04-15feat(test): format user code output (#14271)Bartek Iwańczuk
This commit changes "deno test" to better denote user output coming from test cases. This is done by printing "---- output ----" and "---- output end ----" markers if an output is produced. The output from "console" and "Deno.core.print" is captured, as well as direct writes to "Deno.stdout" and "Deno.stderr". To achieve that new APIs were added to "deno_core" crate, that allow to replace an existing resource with a different one (while keeping resource ids intact). Resources for stdout and stderr are replaced by pipes. Co-authored-by: David Sherret <dsherret@gmail.com>
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-11-16refactor: re-export anyhow from deno_core (#12777)Ryan Dahl
2021-11-09feat(core): streams (#12596)Aaron O'Mullan
This allows resources to be "streams" by implementing read/write/shutdown. These streams are implicit since their nature (read/write/duplex) isn't known until called, but we could easily add another method to explicitly tag resources as streams. `op_read/op_write/op_shutdown` are now builtin ops provided by `deno_core` Note: this current implementation is simple & straightforward but it results in an additional alloc per read/write call Closes #12556
2021-08-15refactor(ops): return BadResource errors in ResourceTable calls (#11710)Aaron O'Mullan
* refactor(ops): return BadResource errors in ResourceTable calls Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-04-09perf: use BTreeMap for ResourceTable (#10074)Aaron O'Mullan
2021-01-10update copyright to 2021 (#9081)Ryan Dahl
2020-12-16refactor: rewrite ops to use ResourceTable2 (#8512)Bartek Iwańczuk
This commit migrates all ops to use new resource table and "AsyncRefCell". Old implementation of resource table was completely removed and all code referencing it was updated to use new system.
2020-11-25core: implement 'AsyncRefCell' and 'ResourceTable2' (#8273)Bert Belder
2020-11-06docs(core): document several concepts around JsRuntime and ops (#7897)Jan Haller
2020-09-17refactor: move op_resources and op_close to deno_core (#7539)Bartek Iwańczuk
Moves op_close and op_resources to deno_core::ops and exports them. Adds serde dependency to deno_core and reexports it. Moves JS implementation of those ops to Deno.core and reexports them in Deno.
2020-09-14refactor: Remove dependency on downcast_rs. (#7475)Scott Olson
We don't seem to use downcast_rs in any essential way. We can just use the standard library `Any` directly.
2020-04-18feat: startTLS (#4773)EnokMan
2020-04-03clippy (#4618)Kitson Kelly
2020-04-03remove `Send` trait requirement from the `Resource` trait (#4585)Andy Finch
2020-02-29test: add ResourceTable tests (#4185)ecyrbe
2020-02-26tty: Deno.setRaw(rid, mode) to turn on/off raw mode (#3958)Kevin (Kun) "Kassimo" Qian
2020-02-07Add blanket impl for the 'Resource' trait (#3903)Bert Belder
2020-01-02Happy new year! (#3578)Ry Dahl
2019-11-14refactor: per-worker resource table, take 2 (#3342)Bartek Iwańczuk
- removes global `RESOURCE_TABLE` - resource tables are now created per `Worker` in `State` - renames `CliResource` to `StreamResource` and moves all logic related to it to `cli/ops/io.rs` - removes `cli/resources.rs` - adds `state` argument to `op_read` and `op_write` and consequently adds `stateful_minimal_op` to `State` - IMPORTANT NOTE: workers don't have access to process stdio - this is caused by fact that dropping worker would close stdout for process (because it's constructed from raw handle, which closes underlying file descriptor on drop)
2019-11-13Revert "refactor: per-worker resource table (#3306)"Ryan Dahl
This patch does not work with the recent bundler changes (#3325). Unfortunately I didn't merge master before landing this patch. It has something to do with console.log not working inside the compiler worker. This reverts commit fd62379eafde6571f126df5650b80cfda9f74229.
2019-11-13refactor: per-worker resource table (#3306)Bartek Iwańczuk
- removes global `RESOURCE_TABLE` - resource tables are now created per `Worker` in `State` - renames `CliResource` to `StreamResource` and moves all logic related to it to `cli/ops/io.rs` - removes `cli/resources.rs` - adds `state` argument to `op_read` and `op_write` and consequently adds `stateful_minimal_op` to `State` - IMPORTANT NOTE: workers don't have access to process stdio - this is caused by fact that dropping worker would close stdout for process (because it's constructed from raw handle, which closes underlying file descriptor on drop)
2019-11-07refactor: move Child resource to ops/process.rs (#3291)Bartek Iwańczuk
2019-11-07refactor: rewrite accept resources (#3271)Bartek Iwańczuk
2019-11-06Remove CoreResource::inspect_repr method (#3274)Ry Dahl
Towards simplifying (or better removing entirely) the CoreResource trait. Resources should be any bit of privileged heap allocated memory that needs to be referenced from JS, not very specific trait implementations. Therefore CoreResource should be pushed towards being as general as possible.
2019-10-28refactor: use core ResourceTable in cli (#3206)Bartek Iwańczuk
2019-10-23core: Add ResourceTable (#3150)Bartek Iwańczuk