Prepare for Crates.io release (#140)

* Prepare tarpc-plugins for Crates.io release.

* Add a 0.7 bullet to RELEASES.md.

* Fix some outdated doc comments.

* Reexport ShutdownFuture.
This commit is contained in:
Tim
2017-03-31 14:15:20 -07:00
committed by GitHub
parent 5add81b5f3
commit f0ad99b900
6 changed files with 34 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "tarpc"
version = "0.6.0"
version = "0.7.0"
authors = ["Adam Wright <adam.austin.wright@gmail.com>", "Tim Kuehn <timothy.j.kuehn@gmail.com>"]
license = "MIT"
documentation = "https://docs.rs/tarpc"
@@ -26,7 +26,7 @@ net2 = "0.2"
num_cpus = "1.0"
serde = "0.9"
serde_derive = "0.9"
tarpc-plugins = { path = "src/plugins" }
tarpc-plugins = { path = "src/plugins", version = "0.1" }
thread-pool = "0.1.1"
tokio-core = "0.1.6"
tokio-io = "0.1"

View File

@@ -1,4 +1,18 @@
## 0.6 (20216-08-07)
## 0.7 (2017-03-31)
## Breaking Changes
This release is a complete overhaul to build tarpc on top of the tokio stack.
It's safe to assume that everything broke with this release.
Two traits are now generated by the macro, `FutureService` and `SyncService`.
`SyncService` is the successor to the original `Service` trait. It uses a configurable
thread pool to serve requests. `FutureService`, as the name implies, uses futures
to serve requests and is single-threaded by default.
The easiest way to upgrade from a 0.6 service impl is to `impl SyncService for MyService`.
For more complete information, see the readme and the examples directory.
## 0.6 (2016-08-07)
### Breaking Changes
* Updated serde to 0.8. Requires dependents to update as well.

View File

@@ -62,13 +62,13 @@ impl Options {
self
}
/// Drive using the given reactor handle. Only used by `FutureClient`s.
/// Drive using the given reactor handle.
pub fn handle(mut self, handle: reactor::Handle) -> Self {
self.reactor = Some(Reactor::Handle(handle));
self
}
/// Drive using the given reactor remote. Only used by `FutureClient`s.
/// Drive using the given reactor remote.
pub fn remote(mut self, remote: reactor::Remote) -> Self {
self.reactor = Some(Reactor::Remote(remote));
self

View File

@@ -29,7 +29,7 @@ cfg_if! {
} else {}
}
pub use self::shutdown::Shutdown;
pub use self::shutdown::{Shutdown, ShutdownFuture};
/// A handle to a bound server.
#[derive(Clone, Debug)]

View File

@@ -10,8 +10,8 @@ pub struct Shutdown {
tx: mpsc::UnboundedSender<oneshot::Sender<()>>,
}
#[derive(Debug)]
/// A future that resolves when server shutdown completes.
#[derive(Debug)]
pub struct ShutdownFuture {
inner: futures::Either<futures::FutureResult<(), ()>,
AlwaysOkUnit<oneshot::Receiver<()>>>,
@@ -33,7 +33,7 @@ impl Shutdown {
/// existing connections are honored but no new connections are accepted. Then, once all
/// connections are closed, it initates total shutdown.
///
/// This fn will not return until the server is completely shut down.
/// The returned future resolves when the server is completely shut down.
pub fn shutdown(&self) -> ShutdownFuture {
let (tx, rx) = oneshot::channel();
let inner = if let Err(_) = self.tx.send(tx) {

View File

@@ -1,7 +1,18 @@
[package]
name = "tarpc-plugins"
version = "0.1.0"
authors = ["Tim Kuehn <tikue@google.com>"]
authors = ["Adam Wright <adam.austin.wright@gmail.com>", "Tim Kuehn <timothy.j.kuehn@gmail.com>"]
license = "MIT"
documentation = "https://docs.rs/tarpc"
homepage = "https://github.com/google/tarpc"
repository = "https://github.com/google/tarpc"
keywords = ["rpc", "network", "server", "api", "tls"]
categories = ["asynchronous", "network-programming"]
readme = "../../README.md"
description = "Plugins for tarpc, an RPC framework for Rust with a focus on ease of use."
[badges]
travis-ci = { repository = "google/tarpc" }
[dependencies]
itertools = "0.5"