rtx 0.1.0

RTx is a zero-cost runtime-abstraction intended for use by Rust libraries to enable the Freedom of Choice between asynchronous runtimes.
# RTx

<small>Built with ❤️ by <a href="https://launchbadge.com">The LaunchBadge team</a></small>
<br />
<br />

RTx is a **zero-cost** runtime-abstraction intended for use by Rust libraries to enable the **Freedom of Choice**.

A library that takes advantage of RTx will implement asynchronous operations
around a zero-cost and ergonomic API.

An application that uses one or more runtime-abstract libraries will
act on their **Freedom of Choice** and pick their runtime, which
will be reflected throughout the dependency tree.

- **Asynchronous** or **Synchronous**. Construct and use types from RTx
  with an abstract asynchronous runtime, or use synchronous IO with `std`.

- **Freedom of Choice**. Be free to enable your downstream usage to use your
  library with the asynchronous runtime of their choice.

- **Zero Cost**. RTx remains zero-cost as long as only 1 runtime is enabled. In other words, there is no operational difference between using `tokio` or using `rtx` with only `tokio` enabled.

## Install

### For Library Authors

```toml
rtx = { version = "0.1.0", features = [ "async" ] }
```

- `async` - Enable the abstract asynchronous interface.

- `blocking` - Enable the synchronous interface (using `std`).

### For Application Developers

```toml
# use * to let the version be constrained elsewhere in your tree
rtx = { version = "*", features = [ "tokio" ] }
```

- `tokio` - Use the tokio runtime, when available.

- `async-std` - Use the async-std runtime.

## License

Licensed under either of

- Apache License, Version 2.0
  ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license
  ([LICENSE-MIT]LICENSE-MIT or http://opensource.org/licenses/MIT)

## Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.