0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-31 11:49:31 -05:00
Commit graph

81 commits

Author SHA1 Message Date
Ryan Dahl
d38c4e0ff1 Rename handler.rs to ops.rs 2018-10-04 00:25:55 -04:00
Ryan Dahl
0422b224e8
First pass at support for TCP servers and clients. (#884)
Adds deno.listen(), deno.dial(), deno.Listener and deno.Conn.
2018-10-03 23:58:29 -04:00
J2P
ea87034e26 Implemented readDirSync, readDir 2018-10-03 18:22:57 -04:00
Bert Belder
4eeda9ea27
timers: remove the old timer implementation
Fixes #878.
2018-10-03 13:27:59 -07:00
Bert Belder
aa691ea26c
timers: implement timers in javascript 2018-10-03 13:27:55 -07:00
Ryan Dahl
fc1c54dde0 Adjust how handle_read handle_write function.
Use tokio_io::io::read() and tokio_io::io::write_all()
instead of poll_fn() as suggested in the Tokio gitter.
2018-10-01 22:30:57 -04:00
Ryan Dahl
42c5b103ec Rename FdTable to ResourceTable.
Add docs to src/resources.rs.
2018-10-01 22:30:57 -04:00
Kevin (Kun) "Kassimo" Qian
50a9c2b575 Add copyFile/copyFileSync (#863) 2018-09-30 18:06:41 -04:00
ztplz
062b22fe56 Add deno.truncate (#805) 2018-09-30 15:06:20 -04:00
Ryan Dahl
bcbbee7399 Adds basic File I/O and FD table.
Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(),
deno.read(), deno.Reader, deno.Writer, deno.copy().

Fixes #721. tests/cat.ts works.
2018-09-28 20:53:33 -04:00
Ryan Dahl
d38ccfc6dc
Support zero-copy data in libdeno.send(). (#838)
This is a large API refactor of deno.h which replaces
deno_send() and deno_set_response() with deno_respond().
It also adds a req_id parameter to the deno_recv_cb.

Make writeFile/writeFileSync use it.
2018-09-27 17:33:10 -04:00
Ryan Dahl
df09fbad92 Use the thread pool for blocking I/O 2018-09-26 14:43:26 -04:00
Ryan Dahl
b088b58f76 Add SetGlobalTimeout().
To be used for a timers implementation soon.
2018-09-25 17:02:49 -04:00
Ryan Dahl
4fd2b19f64 Make Deno multithreaded.
By using the tokio default runtime.

This patch makes all of the ops thread safe.

Adds libdeno to JS globals to make for easier testing.

Preliminary work for #733.
2018-09-25 17:02:49 -04:00
Ryan Dahl
7c128df4a0 Use lazy_static for HttpsConnector
And rename net.rs to http.rs

Share HTTP connection.
2018-09-25 17:02:49 -04:00
Mani Maghsoudlou
ad5065e23e Implement deno.readlink() (#797) 2018-09-25 00:20:49 -04:00
Bartek Iwańczuk
3fe4be07ca Add flag --recompile (#801) 2018-09-24 15:33:50 -04:00
ztplz
f3684c28e5 Rename deno.argv, libdeno::DenoC and deno_set_flags (#796) 2018-09-22 08:47:44 -04:00
Mani Maghsoudlou
017ef096df Implement deno.symlink() (#742) 2018-09-18 21:38:24 -07:00
Ryan Dahl
6143a64256 Rename Deno to Isolate and move to own file. 2018-09-17 20:07:53 -07:00
Kevin (Kun) "Kassimo" Qian
e3d634eb21 Make mode always u32 and switch to has_mode for StatRes fbs (#761) 2018-09-17 16:53:55 -07:00
Bert Belder
bdfaf12186
format 2018-09-16 18:37:18 -07:00
Kevin (Kun) "Kassimo" Qian
b0958073ba Remove remove_timer asserts (#760)
* Remove remove_timer asserts

* Add clearTimeout invalid id no-panic test

* Move timer test to its file AND some lint side-effects
2018-09-16 13:35:16 -07:00
Kevin (Kun) "Kassimo" Qian
662e57b20a [fs] Enable mode for mkdir on unix (#746) 2018-09-14 12:30:43 -07:00
JaePil Jung
5bea62ac32 Small handers.rs cleanup (#735) 2018-09-12 15:17:17 -04:00
qti3e
41c70b154f Add support for fetch() headers (#727) 2018-09-12 15:16:42 -04:00
Mani Maghsoudlou
88d42f0b18 Implement deno.rename() (#731) 2018-09-12 11:44:58 -04:00
Kevin (Kun) "Kassimo" Qian
26081a32df Add unix-only mode for FileInfo (#732) 2018-09-12 10:28:48 -04:00
Kevin (Kun) "Kassimo" Qian
1ffae65165 Add remove(), removeAll().
and removeSync(), removeAllSync().
2018-09-12 10:24:17 -04:00
Sajjad Hashemian
7c50c11f40 Implement deno.stat() and deno.lstat() 2018-09-11 16:05:00 -04:00
Kevin (Kun) "Kassimo" Qian
05f87a0cf2 Move writeFileSync to write_file.ts, add writeFile and tests (#728) 2018-09-11 12:00:57 -04:00
Sajjad Hashemian
c2663e1d82 Implement deno.mkdir() 2018-09-10 15:02:07 -04:00
Ryan Dahl
e293c204a0 Support async futures that have empty response. 2018-09-10 15:02:07 -04:00
Ryan Dahl
35bc9ddf63 Implement deno.readFile()
As an example of how to implement ops that have both sync and async
versions.
2018-09-10 00:14:28 -04:00
Ryan Dahl
c29392b25f create_msg -> serialize_response 2018-09-10 00:14:28 -04:00
Ryan Dahl
9bb0627a88 Remove null_buf() 2018-09-10 00:14:28 -04:00
Ryan Dahl
a4f1b367b9 Remove namespace from src/msg.fbs 2018-09-09 23:12:22 -04:00
Ryan Dahl
0d03fafbfe Map promises onto futures.
Refactors handlers.rs

The idea is that all Deno "ops" (aka bindings) should map onto
a Rust Future. By setting the "sync" flag in the Base message
users can determine if the future is executed immediately or put
on the event loop.

In the case of async futures, a promise is automatically created.
Errors are automatically forwarded and raised.

TODO:

- The file system ops in src/handler.rs are not using the thread pool
  yet. This will be done in the future using tokio_threadpool::blocking.
  That is, if you try to call them asynchronously, you will get a promise
  and it will act asynchronous, but currently it will be blocking.
- Handlers in src/handler.rs returned boxed futures. This was to make
  it easy while developing. We should try to remove this allocation.
2018-09-09 18:47:22 -04:00
Parsa Ghadimi
1052f8d0c9 Check allow-net in fetch 2018-09-06 11:07:10 -04:00
Mirko Jotic
fcdfacc2de Implementing --deps flag
- Adding a ModuleId type alias to specify original url or local file of
dependency
- Modifying ModuleMetaData class to contain ModuleId
- Adding a --deps flag
2018-09-06 10:42:07 -04:00
Ryan Dahl
e7741ab97f Rename src/binding.rs -> src/libdeno.rs 2018-09-05 22:27:47 -04:00
Ryan Dahl
32f0c37a42 Format 2018-09-05 22:27:47 -04:00
Mani Maghsoudlou
641e3d404d Implement renameSync 2018-09-04 11:57:04 -04:00
Sajjad Hashemian
b2b4299e3b Implement mkdirSync 2018-09-03 15:06:00 -04:00
Ryan Dahl
dff909ef6c Clean up handlers. 2018-09-03 10:45:58 -04:00
Ryan Dahl
4ccae957fb Upgrade flatbuffers 2018-09-03 10:45:58 -04:00
Ryan Dahl
787832c68e Format. 2018-09-03 10:45:58 -04:00
Aaron Power
f131445a46 Implemented deno.env and refactored flags.rs 2018-08-31 13:18:24 -04:00
Ryan Dahl
0ec629d105 format 2018-08-30 14:41:55 -04:00
Aaron Power
b86bf4d8a4 Implemented statSync and lStatSync 2018-08-30 12:39:33 -04:00