Paul Colomiets
b1d02eb598
Implement tokio_core::reactor::Interval
2016-10-10 15:41:57 +03:00
Jack O'Connor
da37ad0948
rename Read to ReadOnce and expose it
...
The other read futures (read_exact, read_until, etc.) all expose their
concrete future types so that function signatures can return them, but
until now `read()` didn't. Exposing it with the name "Read" causes
naming conflicts with the std::io::Read trait, so the easiest thing to
do is to just change the name. Importing std::io::Read under a different
name would've been an option too, but that would probably be annoying
for consumers in the same way it's annoying for us.
The original PR (https://github.com/tokio-rs/tokio-core/pull/29 ) decided
that "read" was a better name than "read_some", so I'm leaving the top
level functions unchanged. I don't have a strong opinion about it one
way or the other, but I *do* think it's worth bikeshedding a little bit.
Python's asyncio library actually ended up with a very similar issue
around naming inconsistency between the sync and async worlds, and we
can hopefully avoid repeating that: https://bugs.python.org/issue22279
2016-10-08 01:28:39 -04:00
oberien
b227738bd7
ref(chat): Make code more readable
...
* Send source address of message in addition to the message to connected clients.
* Move `spawn_fn` to the bottom.
* Use `map` instead of `and_then` if there is no need for blocking.
* `map` to unit where values are not needed anymore.
2016-10-07 14:57:30 +02:00
Paul Colomiets
411caa786d
Moves when to Timeout from TimeoutToken
2016-10-06 21:11:46 +03:00
oberien
6961efa8dd
fix(chat): Implement alexcrichton's suggestions
...
* Remove unnecessary clone
* Improve rightward drift
* Remove unnecessary lazy future
* Improve utf-8 handling
* Refactor to make code more understandable
2016-10-06 15:38:20 +02:00
Alex Crichton
a99b2529e0
Merge pull request #51 from debris/patch-1
...
fixed typo in split.rs
2016-10-05 09:03:02 -07:00
Marek Kotewicz
a94be1bca9
fixed typo in split.rs
2016-10-05 11:28:46 +02:00
oberien
0205b855d0
Add Chat example
2016-10-04 20:02:52 +02:00
Alex Crichton
e32115b1b4
Merge pull request #50 from oberien/read
...
doc(read): Add number of bytes read to doc
2016-10-04 07:50:44 -07:00
Alex Crichton
37879bd911
Merge pull request #49 from oberien/read_until
...
doc(read_until): Fix typo in doc
2016-10-04 07:46:36 -07:00
oberien
b0033eb463
doc(read): Add number of bytes read to doc
2016-10-04 13:56:31 +02:00
oberien
2545237309
doc(read_until): Fix typo in doc
2016-10-04 13:34:25 +02:00
Alex Crichton
f019f5f5bb
Merge pull request #48 from oberien/read_until
...
feat(io): Add `read_until`
2016-10-03 09:34:11 -07:00
oberien
d2440a4059
fix(read_until): Make read_until resemble BufRead::read_until
2016-09-30 22:12:56 +02:00
oberien
ce8a9d460e
feat(io): Add read_until
2016-09-30 22:06:43 +02:00
Alex Crichton
866dad2e85
Merge pull request #29 from 3Hren/master
...
Add `read` free function to read some bytes
2016-09-30 10:14:10 -07:00
Evgeny Safronov
f69f748470
chore: fix panic string
2016-09-30 13:20:22 +03:00
Evgeny Safronov
42bbe86cb6
refactor: rename ReadSome to Read
...
Also `try_nb!` is used.
2016-09-30 13:14:41 +03:00
Evgeny Safronov
4b3472ceae
refactor: rename, also make EOF as a valid result
2016-09-29 12:19:20 +03:00
Alex Crichton
e92d4bf52b
Merge pull request #47 from oberien/spawn_fn
...
doc(spawn_fn): Fix typo
2016-09-28 10:22:47 +09:00
oberien
f62d1ddc8d
doc(spawn_fn): Fix typo
2016-09-28 03:20:33 +02:00
Alex Crichton
1d40bf14f7
Add Handle::spawn_fn
...
Acts as a convenience to avoid `futures::lazy`.
Closes #40
2016-09-26 16:52:54 -07:00
Alex Crichton
c2e80ebb30
Indiciate need_read requires poll_read
...
Original intention was that it didn't, but nowadays it does.
Closes #44
2016-09-26 16:27:29 -07:00
Alex Crichton
181dcdd9ea
Merge pull request #39 from NeoLegends/patch-1
...
Fix documentation typos
2016-09-26 05:04:02 +09:00
Moritz Gunz
326537b861
Fix documentation typos
2016-09-21 18:27:25 +02:00
xenor
f41c55f9f7
Instead of calling handle() a second time in line 26, I used a reference to the value obtained in line 23.
2016-09-20 09:59:09 -07:00
Alex Crichton
418a973520
Add poll_{read,write} on halves
...
Closes #32
2016-09-14 11:14:18 -07:00
Evgeny Safronov
fb497aba44
Add read_some free function to read some bytes
2016-09-12 19:52:44 +03:00
Alex Crichton
933b34cd25
Merge pull request #27 from sbstp/net-docs
...
update the docs of net::*::bind
2016-09-11 10:55:55 -07:00
Simon Bernier St-Pierre
32ccf255b5
update the docs of net::*::bind
2016-09-10 19:12:30 -04:00
Alex Crichton
00fb7ea4a3
Update readme with crates.io dep
2016-09-09 18:15:15 -07:00
Alex Crichton
550dc76bbd
Depend on futures from crates.io
2016-09-09 18:02:03 -07:00
Alex Crichton
80d23caa5e
Merge pull request #25 from sdroege/remove-udpsocket-new
...
Remove now unused UdpSocketNew
2016-09-09 09:48:06 -07:00
Alex Crichton
b2ae5ac7c9
Remove unused UdpSocketNew
2016-09-09 09:47:35 -07:00
Sebastian Dröge
ab5025a8b7
Remove now unused UdpSocketNew
...
See https://github.com/tokio-rs/tokio-core/issues/15#issuecomment-245552463
2016-09-09 19:23:42 +03:00
Alex Crichton
8f92dc9d56
Add a simple "hello" example
2016-09-09 00:11:08 -07:00
Carl Lerche
0000210e0c
Add io::FramedIo
2016-09-08 23:25:17 -07:00
Alex Crichton
83784fd983
Don't remove timeouts that have fired
...
Closes #22
2016-09-08 07:47:07 -07:00
Alex Crichton
cd331dde34
Merge pull request #23 from frewsxcv/docs
...
Add links in docs to `channel` function.
2016-09-08 07:35:49 -07:00
Corey Farwell
eb643c4d9e
Add links in docs to channel function.
2016-09-08 10:33:41 -04:00
Alex Crichton
1f0d2198ad
Use a timer heap instead of a timer wheel
...
In general it's easier to implement and should have more predictable performance
semantics for applications in general. More serious timer usage can go through
`tokio-timer` which has properly configurable timer wheels and such.
Closes #2
Closes #7
2016-09-08 00:06:34 -07:00
Alex Crichton
66cff8e84b
Swap Handle/Pinned
...
* Handle -> Remote
* Pinned -> Handle
All APIs now take a `&Handle` by default and in general can return an immediate
`io::Result` instead of an `IoFuture`. This reflects how most usage will likely
be done through handles rather than remotes, and also all previous functionality
can be recovered with a `oneshot` plus `Remote::spawn`.
Closes #15
2016-09-07 22:12:41 -07:00
Alex Crichton
e60002b653
Tweak TaskIo wording and such
...
* Remove TaskIo
* task_split -> split
* TaskIoRead -> ReadHalf
* TaskIoWrite -> WriteHalf
Closes #18
2016-09-07 22:12:14 -07:00
Alex Crichton
6c045d31ac
Reorganize the entire crate:
...
Renamed APIs
* Loop => reactor::Core
* LoopHandle => reactor::Handle
* LoopPin => reactor::Pinned
* TcpStream => net::TcpStream
* TcpListener => net::TcpListener
* UdpSocket => net::UdpSocket
* Sender => channel::Sender
* Receiver => channel::Receiver
* Timeout => reactor::Timeout
* ReadinessStream => reactor::PollEvented
* All `LoopHandle` methods to construct objects are now free functions on the
associated types, e.g. `LoopHandle::tcp_listen` is now `TcpListener::bind`
* All APIs taking a `Handle` now take a `Handle` as the last argument
* All future-returning APIs now return concrete types instead of trait objects
Added APIs
* io::Io trait -- Read + Write + ability to poll
Removed without replacement:
* AddSource
* AddTimeout
* IoToken
* TimeoutToken
Closes #3
Closes #6
2016-09-07 22:12:14 -07:00
Alex Crichton
93c61bb384
Merge pull request #21 from frewsxcv/clippy
...
Address a few clippy suggestions.
2016-09-07 21:19:40 -07:00
Alex Crichton
0eeeca4ac1
Merge pull request #20 from frewsxcv/docs
...
Add documentation links.
2016-09-07 21:19:12 -07:00
Corey Farwell
9fe1d8aeca
Remove unnecessary return statements.
2016-09-07 21:30:11 -04:00
Corey Farwell
a9d24810be
Avoid unnecessary Option::expect indirection.
2016-09-07 21:29:52 -04:00
Corey Farwell
93e1d4778d
Use while..let construct for loop.
2016-09-07 21:29:37 -04:00
Corey Farwell
d7f76ca549
Add documentation links.
2016-09-07 21:19:34 -04:00