2
0
Fork 1
mirror of https://github.com/async-rs/async-std.git synced 2025-05-01 12:41:24 +00:00
Commit graph

46 commits

Author SHA1 Message Date
Erick Tryzelaar
c4e181cfe1 Change Incoming impls to only do one allocation
This modifies net::tcp::Incoming and os::net::unix::Incoming to only do
one allocation, rather than an allocation for each connection.
2021-03-31 11:27:50 -07:00
Yoshua Wuyts
f8f1eacc9a Attempt 2 at fixing docs on windows 2020-12-08 22:40:31 +01:00
Yoshua Wuyts
92f5038ed6 attempt to fix docs builds 2020-12-08 22:08:44 +01:00
dignifiedquire
7b896c0bf4 manual reexports 2020-12-01 16:02:00 +01:00
Stjepan Glavina
f7aa962daf Store a future inside Incoming 2020-09-28 18:58:45 +02:00
Friedel Ziegelmayer
f7319591a3
Merge pull request #866 from Keruspe/smol04 2020-09-14 14:45:03 +02:00
Marc-Antoine Perennou
e2f638496c don't init runtime threadpool unless necessary
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2020-08-31 21:43:21 +02:00
Yuxuan Shui
b0ac73cb57
os/unix/stream: stop into_raw_fd from closing the fd
`UnixStream::into_raw_fd` calls `as_raw_fd`, which doesn't take the
ownership of the file descriptor, so the file descriptor is closed when
`self` is dropped upon returning from the function.

Because `UnixStream` uses a `Arc` to support Clone, there could be an
arbitrary number of instances around. We cannot take ownership of the
descriptor from all of the instances. Therefore we have no choice but to
duplicate the file descriptor and return that.

Fixes #855

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-08-18 11:10:29 +01:00
Marc-Antoine Perennou
25e0e1abdc switch to async-io
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2020-07-24 23:02:10 +02:00
Marc-Antoine Perennou
8886039ac5 fix build with -default +unstable
and add a CI check for it

Fixes #842

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2020-07-24 23:01:51 +02:00
dignifiedquire
093d640ad7 fix(net): ensure the reactor and runtime are running
If this is not done, then reactor is not running, resulting in the sockets not actually connecting.

Closes #818
2020-06-18 12:11:37 +02:00
Jacob Rothstein
cd5e17fe87
make UnixStream Clone 2020-05-10 18:21:45 -07:00
dignifiedquire
1a6d4f6a2f fix windows trait declarations for rawsocket 2020-05-02 20:27:50 +02:00
dignifiedquire
0a7a52aed5 update to work on smol/master 2020-05-02 20:27:50 +02:00
dignifiedquire
ab9d6554aa switch to smol::Timer 2020-05-02 20:27:50 +02:00
dignifiedquire
1308fbdf55 switch to smol instead of an internal runtime 2020-05-02 20:27:50 +02:00
Stjepan Glavina
36d24cd0e1 New scheduler resilient to blocking 2019-12-16 13:57:27 +01:00
Yoshua Wuyts
b3d30de4a1 mark windows fs APIs as "unstable" (#567)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-11-20 14:58:49 +01:00
hhggit
72ed4eb4fd
Update mod.rs 2019-11-20 19:51:01 +08:00
hhggit
2c9b558d14 add os::windows::symlink_{dir,file} 2019-11-18 10:20:07 +08:00
Stjepan Glavina
548733e5d5
Cleanup stream traits (#487)
* Cleanup stream traits

* Fix docs
2019-11-09 11:22:09 +01:00
Yoshua Wuyts
335bd34470 Add "std" feature flag (#476)
* core feature

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* introduce std + default features

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* test std features on ci

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* finish up all features

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* Fix task_local macro

* Remove crossbeam-channel and futures-timer from std

* Move future::timeout() behind cfg_default
2019-11-07 23:56:58 +00:00
Stjepan Glavina
3dd59d7056
Refactor the task module (#421)
* Refactor the task module

* Fix clippy warning

* Simplify task-local entries

* Reduce the amount of future wrapping

* Cleanup

* Simplify stealing
2019-11-01 02:45:33 +01:00
Stjepan Glavina
ec23632f3e
Cleanup: replace cfg-if with our macros (#361)
* Cleanup: replace cfg-if with our macros

* Prefix macros with cfg_

* Remove #[macro_export] from internal macros
2019-10-17 19:17:49 +02:00
Yoshua Wuyts
b4c1c63fd2
task::blocking async closure -> FnOnce
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:01:24 +02:00
Stjepan Glavina
504f8cb137 Use crate::path everywhere 2019-10-15 01:25:20 +02:00
Miloš Vučenović
c3e38150e4 Fix uds listener hanging on accept (#272)
* Fix uds listener hanging on accept

UDS listener was hanging because the accept method would return
`Poll::Pending` without registering the task to be awoken in the case
when underlying unix listener returns a WouldBlock that gets converted
to None. This is a hacky fix for this case.

Should fix #248

* Test simulating uds ping-pong server/client

This one should reproduce #248 bug to prevent further regressions.

* Code review fixes
2019-10-07 16:49:42 +02:00
Stjepan Glavina
ff028bb540 Improve compile times and add comments 2019-09-26 14:21:27 -04:00
Stjepan Glavina
73d7fea937 Re-export Stream from futures 2019-09-22 16:51:18 +02:00
Stjepan Glavina
edfa2358a4 Re-export IO traits from futures 2019-09-21 14:30:52 +02:00
Stjepan Glavina
a4381230b8 Clean up the fs module and a few other places 2019-09-14 01:24:31 +02:00
Stjepan Glavina
5429c2c0a3 cargo fmt 2019-09-12 18:49:09 +02:00
Stjepan Glavina
d25dae5419 Refactor the networking driver 2019-09-12 18:45:53 +02:00
Yuxuan Shui
876059cfe0
Make sure ownership is transferred in into_raw_fd
Previously all of the into_raw_fd implementations only returns a copy of
the inner RawFd, while still holding the ownership of the file
descriptor when returning for into_raw_fd. Since `self` is dropped at
the end of into_raw_fd, the returned file descriptor will actually be
closed, render the function unuseable.

The patch makes sure that into_raw_fd actually takes the ownership of
the file descriptor all the way from the inner IoHandle. To achieve
this, I have to use an Option in IoHandle to store the I/O source. It's
not pretty, but I cannot come up with a better way.
2019-09-06 10:36:25 +01:00
Stjepan Glavina
bac74c2d7f
Reduce dependency on futures crate (#140)
* Add future::poll_fn

* Replace all uses of poll_fn with the new one

* Remove some uses of futures

* Simplify ReadDir and DirEntry

* Remove some use of futures from File

* Use futures subcrates

* Fix imports in docs

* Remove futures-util dependency

* Remove futures-executor-preview

* Refactor

* Require more features in the futures-preview crate
2019-09-05 01:22:41 +02:00
Yoshua Wuyts
63ad786768
remove async_await feature gate
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-08-21 00:29:35 -07:00
Stjepan Glavina
9b3e8b8f26 Use our own Sink/Empty and fix compilation errors 2019-08-15 11:47:20 +02:00
Stjepan Glavina
e459bd048e Cleanup and docs 2019-08-14 04:22:37 +02:00
Stjepan Glavina
019c8085f4 Cleanup examples 2019-08-14 03:47:39 +02:00
Stjepan Glavina
9d8ac36813 Rename feature docs.rs to docs 2019-08-12 19:50:30 +02:00
Stjepan Glavina
c3eee6cba5 Fix broken docs 2019-08-12 19:12:41 +02:00
Stjepan Glavina
68d7a9c34e Refactor 2019-08-12 18:38:59 +02:00
Stjepan Glavina
a430e27819 Cleanup, docs, fmt 2019-08-12 18:00:21 +02:00
Stjepan Glavina
e44451a042 Revamp IO traits and Stream trait 2019-08-12 12:50:35 +02:00
Stjepan Glavina
3f4a56abdc Reformat doc examples 2019-08-09 02:56:59 +02:00
Florian Gilcher
5b0a6269a9
Initial commit 2019-08-08 14:44:48 +02:00