Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This handles cases where clients send large amounts of data while on
localhost.
Closes #192
|
|
|
|
The PR that updated the examples skipped some comments. This patch
updates thhe comments.
|
|
The exampes included in the repository have lagged behind the changes
made. Specifically, they do not use the new runtime construct.
This patch updates examples to use the latest features of Tokio.
|
|
Tokio is moving away from using `WouldBlock`, instead favoring
`Async::NotReady`.
This patch updates the TCP and UDP types, deprecating any function that
returns `WouldBlock` and adding a poll_ prefixed equivalent.
|
|
This patch is an intial implementation of the Tokio runtime. The Tokio
runtime provides an out of the box configuration for running I/O heavy
asynchronous applications.
As of now, the Tokio runtime is a combination of a work-stealing thread
pool as well as a background reactor to drive I/O resources.
This patch also includes tokio-executor, a hopefully short lived crate
that is based on the futures 0.2 executor RFC.
* Implement `Park` for `Reactor`
This enables the reactor to be used as the thread parker for executors.
This also adds an `Error` component to `Park`. With this change, a
`Reactor` and a `CurrentThread` can be combined to achieve the
capabilities of tokio-core.
|
|
Fixes #123
|
|
Instead, use `UdpFramed::new` to create a framed wrapper around the UDP
socket.
|
|
`UdpFramed` is updated to use the `Encoder` and
`Decoder` traits from `tokio-io`.
|
|
Doing so requires copying the `current_thread` executor from GitHub into
the repo.
|
|
|
|
This patch also updates tests and examples to remove deprecated API
usage.
|
|
Generally speaking, it is unsafe to access to perform asynchronous
operations using `&self`. Taking `&self` allows usage from a `Sync`
context, which has unexpected results.
Taking `&mut self` to perform these operations prevents using these
asynchronous values from across tasks (unless they are wrapped in
`RefCell` or `Mutex`.
|
|
std's `Incoming` iterator yields `TcpStream` instances. This patch
updates the `Incoming` future to match this signature.
This changes the yielded value from `(TcpStream, SocketAddr)` ->
`TcpStream`.
|
|
|
|
* Refactor UDP SendDgram & RecvDgram
Get rid of unnamed structs in the favor of private structs with named fields
* Change the signature of UdpCodec::encode
Now it is:
```
fn encode(&mut self, msg: Self::Out, buf: &mut Vec<u8>) -> Result<SocketAddr, Self::Error>;
```
Closes https://github.com/tokio-rs/tokio/issues/79
* Fix compilation error from `mio` crate
|
|
|
|
This commit removes the `Handle` argument from the following constructors
* `TcpListener::bind`
* `TcpStream::connect`
* `UdpSocket::bind`
The `Handle` argument remains on the various `*_std` constructors as they're
more low-level, but this otherwise is intended to set forth a precedent of by
default not taking `Handle` arguments and instead relying on the global
`Handle::default` return value when necesary.
|
|
This commit removes the `Reactor::run` method which has previously been used to
execute futures and turn the reactor at the same time. The tests/examples made
heavy usage of this method but they have now all temporarily moved to `wait()`
until the futures dependency is upgraded. In the meantime this'll allow us to
further trim down the `Reactor` APIs to their final state.
|
|
This commit uses a script to rename `Core` to `Reactor` all at once, notably:
find . -name '*.rs' | xargs sed -i 's/\bCore\b/Reactor/g'
|
|
This commit renames the various constructors of networking types to have a
`_std` suffix instead of a smorgasboard of other suffixes, canonicalizing on
`_std` as the suffix for constructors which take the libstd corresponding types.
|
|
* remove unused #[macro_use] and #[allow(unused_macros)]
* remove unused FnBox trait
* remove unused temporary variable
* remove Evented trait requirement to implement Debug
|
|
|
|
Helps avoid spurious errors when testing.
Closes #277
|
|
In accordance with tokio-rs/tokio-rfcs#3, the executor functionality of
Tokio is being removed and will be relocated into futures-rs as a
"current thread" executor.
This PR removes task execution from the code base. As a temporary
mesure, all examples and tests are switched to using CpuPool.
Depends on #19.
|
|
This commit removes code that was deprecated in tokio-core master.
|
|
|
|
|
|
This example is intended to showcase sharing state between all connected clients
on a server, for example a key/value store (in-memory database)
Closes #257
|
|
|
|
|
|
|
|
|
|
|
|
Hopefully being relatively illustrative in how a bare-bones non-production-ready
server can be spun up!
|
|
|
|
|
|
|
|
Deprecate the existing `io` module in this crate entirely.
More details coming soon!
Closes #61
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|