Alan Somers
363e15f36c
Respond to alexchrichton's comments
...
* Combine the FreeBSD/Dragonfly platform with the other Unix platform
* Remove the Windows platform::aio method
* Update deps
2017-06-07 22:36:32 -06:00
Alan Somers
42f73cb0ec
Revert changes to read_ready and add platform::all()
2017-05-21 11:01:48 -06:00
Alan Somers
81beb44565
POSIX AIO support, try 2
...
Support POSIX AIO, post-01635df . A concrete implementation will be
added by the mio-aio and tokio-file crates
2017-05-21 10:24:08 -06:00
Alex Crichton
01635dfd56
Merge pull request #208 from alexcrichton/poll-ready
...
Add PollEvented::poll_ready
2017-05-19 14:29:27 -05:00
Alex Crichton
4dd3d30f2a
Add PollEvented::poll_ready
...
This commit adds a general-purpose method for querying the readiness of a
`PollEvented` type. This new method, `poll_ready`, takes a blanket `mio::Ready`
and tests if any part of it is ready. The purpose of this is to expose
platform-specific events through `PollReady` such as `hup` and `error` events
other than just the platform-agnostic readable/writable events.
The semanatics of this method are:
* The `poll_ready` function takes a mask, and the return value is either
`Async::Ready` with a subset of these events that are ready or `None` if none
of them are ready.
* There can be up to two tasks blocked on a `PollEvented`, so we need to pick
which one is suitable for these new events. Currently all events are routed to
the `read` task unless the writable bit is set. This is mostly only relevant
for multi-task usage or if you're manually calling `need_read` and/or
`need_write`, and hopefully the docs will cover this now.
2017-05-19 11:23:00 -07:00
Alex Crichton
b92fd2d22a
Update to latest mio version
2017-05-19 10:00:57 -07:00
Alex Crichton
9e80c82400
Merge pull request #207 from king6cong/master
...
typo fix
2017-05-12 09:02:10 -05:00
king6cong
4d8d293913
typo fix
2017-05-12 18:00:55 +08:00
Alex Crichton
d723faf2d8
Merge pull request #205 from MarkusJais/master
...
small typo fixed for io module
2017-05-09 16:13:31 -05:00
Markus Jais
5567ec904e
small typo fixed for io module
2017-05-09 21:02:09 +02:00
Alex Crichton
98e99c71c4
Bump to 0.1.7
2017-05-08 16:19:27 -07:00
Alex Crichton
011a7b02f7
Add a test for spawn-in-drop
2017-05-08 16:18:42 -07:00
Alex Crichton
05191f14d7
Merge pull request #204 from fafhrd91/master
...
drop inner borrow before dropping task
2017-05-08 18:17:32 -05:00
Nikolay Kim
0cfa98566e
drop inner borrow before dropping task
2017-05-07 21:17:57 -07:00
Alex Crichton
4545110f45
Merge pull request #201 from munckymagik/update-tokio_rs-links
...
Update links to pages in the tokio.rs going-deeper section
2017-04-25 14:08:49 -05:00
Dan Munckton
3111443113
Update links to pages in the tokio.rs going-deeper section
...
See: tokio-rs/website#72
2017-04-25 19:26:43 +01:00
Alex Crichton
29144e6c9b
Return NotReady
from TcpStream::read_buf
2017-03-27 08:55:30 -07:00
Alex Crichton
8d58b70ce6
Merge pull request #195 from living180/master
...
Fix logic error in TcpStream.read_buf()
2017-03-27 10:54:18 -05:00
Daniel Harding
f5db8136d7
Fix logic error in TcpStream.read_buf()
...
If the underlying read_bufs() call returned a WouldBlock error,
TcpStream.read_buf() was erroneously calling self.io.need_write(), when
it should actually call self.io.need_read().
2017-03-27 16:54:56 +02:00
Alex Crichton
45e69bfb61
Return NotReady
from TcpStream::write_buf
...
Closes #194
2017-03-27 07:33:18 -07:00
Alex Crichton
37e2870f04
Limit the scope of borrow_mut in consume_queue
...
Otherwise we may accidentally hold the borrowed ref cell for too long which can
cause a borrow error.
Closes #190
2017-03-15 22:59:08 -07:00
Alex Crichton
8383e8bf7a
Remove deprecated benchmark
2017-03-15 22:38:23 -07:00
Alex Crichton
c80953f078
Bump to 0.1.6
2017-03-15 10:30:10 -07:00
Alex Crichton
8c1838e093
Fix build on beta/nightly
...
I believe this happened due to a very recent rustc soundness fix!
Closes #189
2017-03-15 10:29:17 -07:00
Alex Crichton
e79f665440
Bump to 0.1.5
2017-03-15 10:06:32 -07:00
Alex Crichton
a8e09c5608
Add the proxy example from #100
2017-03-15 09:59:09 -07:00
Alex Crichton
89fcc96dd4
Migrate to using tokio-io
...
Deprecate the existing `io` module in this crate entirely.
More details coming soon!
Closes #61
2017-03-15 09:46:54 -07:00
Alex Crichton
8fecf98aef
Merge pull request #187 from king6cong/master
...
comment rewording
2017-03-07 09:08:17 -06:00
Alex Crichton
b0d04e04f2
Merge pull request #174 from asomers/aioprep
...
Replace magic numbers with constants from mio
2017-03-07 08:58:37 -06:00
king6cong
a67e0d3efb
comment rewording
2017-03-07 11:39:51 +08:00
Alan Somers
eb66ff3ad1
Replace more instances of magic numbers
2017-03-06 20:16:12 -07:00
Alex Crichton
5c411c548b
Add Debug for {Handle,Remote,Core}
...
Closes #170
2017-03-06 12:16:09 -08:00
Alan Somers
3b8f1695ff
Define constants to replace magic numbers
2017-03-05 14:38:55 -07:00
Alex Crichton
bd75a522c3
Merge pull request #186 from seeekr/patch-1
...
fix typo in reactor::Core::run docs
2017-03-03 13:27:41 -06:00
Denis Andrejew
1722d8ed45
fix typo in reactor::Core::run docs
2017-03-03 18:38:56 +00:00
Alex Crichton
6a4df9a3b6
Merge pull request #181 from JanZerebecki/fix-typo-core-run
...
Fix typo in docblock for Core::run()
2017-02-27 08:46:48 -08:00
Jan Zerebecki
e8bd2117d0
Fix typo in docblock for Core::run()
2017-02-27 11:07:19 +01:00
Alex Crichton
b773d55444
Tweak Debug output of PollEvented
2017-02-25 21:43:54 -08:00
Alex Crichton
005994cdea
Merge pull request #180 from agrover/debug-for-pollevented
...
Implement Debug for PollEvented<E> if E implements Debug
2017-02-25 23:42:35 -06:00
Andy Grover
9e3f3caad0
Implement Debug for PollEvented<E> if E implements Debug
...
Useful, esp since mio::unix::EventedFd already implements Debug.
Signed-off-by: Andy Grover <agrover@redhat.com>
2017-02-24 12:57:05 -08:00
Alex Crichton
6c774756e6
Merge pull request #173 from partim/easybuf-traits
...
Add PartialOrd, Ord, and Hash to EasyBuf, generalize PartialEq.
2017-02-21 09:07:24 -06:00
Carl Lerche
a3c1796a45
Merge pull request #175 from mayhewj/rename-sender
...
Rename sender in connect example
2017-02-20 08:26:03 -08:00
Justin Mayhew
c9a8208c8a
Rename sender in connect example
2017-02-19 15:02:31 -04:00
Martin Hoffmann
54dcd3a015
Add PartialOrd and Ord to EasyBuf, generalize PartialEq.
2017-02-18 20:30:01 +01:00
Alex Crichton
1bc2ef6aff
Merge pull request #168 from Byron/master
...
Implement PartialEq for EasyBuf
2017-02-13 09:36:43 -06:00
Sebastian Thiel
fe9a798811
Implement PartialEq for EasyBuf
2017-02-13 07:55:26 +01:00
Alex Crichton
a597b962a3
Merge pull request #166 from Byron/master
...
Allocation in get_mut() always uses 8 * 1024 bytes
2017-02-12 11:27:47 -06:00
Sebastian Thiel
65c5c5241b
Test semantics of buffer allocation of get_mut()
...
* if remaining bytes are smaller then 8 * 1024, allocate 8 * 1024
* otherwise allocate as much as needed to hold the remaining bytes
without re-allocations.
2017-02-12 09:47:03 +01:00
Sebastian Thiel
e11dd06ead
Assure we don't have to allocate while growing the vector
...
We now have enough capacity to copy the unconsumed portion
of the previous frame.
2017-02-11 10:23:02 +01:00
Sebastian Thiel
5adde38a65
Allocation in get_mut() always uses 8 * 1024 bytes
...
The previous implementation would always use the capacity
of the previous buffer, which would effectively prevent it
from ever shrinking.
This also means that protocol with greater variance in
possible frame sizes would likely be heavily over-allocating.
If these implementations use zero-copy, this would imply
that even small frames kept alive by the client would use
large amounts of memory.
The change is motivated by the implementation of the
cassandra-protocol, which allows frames of up to 256MB
in size, which solely depend on the kind of query.
2017-02-11 09:01:07 +01:00