Update `tower-service` to `std::future::Future` (#311)
This commit is contained in:
parent
b7faef31e9
commit
fe9cef6006
32
Cargo.toml
32
Cargo.toml
|
@ -1,21 +1,21 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
|
|
||||||
members = [
|
members = [
|
||||||
"tower",
|
# "tower",
|
||||||
"tower-balance",
|
# "tower-balance",
|
||||||
"tower-buffer",
|
# "tower-buffer",
|
||||||
"tower-discover",
|
# "tower-discover",
|
||||||
"tower-filter",
|
# "tower-filter",
|
||||||
"tower-hedge",
|
# "tower-hedge",
|
||||||
"tower-layer",
|
# "tower-layer",
|
||||||
"tower-limit",
|
# "tower-limit",
|
||||||
"tower-load",
|
# "tower-load",
|
||||||
"tower-load-shed",
|
# "tower-load-shed",
|
||||||
"tower-reconnect",
|
# "tower-reconnect",
|
||||||
"tower-retry",
|
# "tower-retry",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
"tower-spawn-ready",
|
# "tower-spawn-ready",
|
||||||
"tower-test",
|
# "tower-test",
|
||||||
"tower-timeout",
|
# "tower-timeout",
|
||||||
"tower-util",
|
# "tower-util",
|
||||||
]
|
]
|
||||||
|
|
|
@ -13,23 +13,23 @@ jobs:
|
||||||
displayName: Test
|
displayName: Test
|
||||||
vmImage: ubuntu-16.04
|
vmImage: ubuntu-16.04
|
||||||
crates:
|
crates:
|
||||||
- tower-balance
|
# - tower-balance
|
||||||
- tower-buffer
|
# - tower-buffer
|
||||||
- tower-discover
|
# - tower-discover
|
||||||
- tower-filter
|
# - tower-filter
|
||||||
- tower-hedge
|
# - tower-hedge
|
||||||
- tower-layer
|
# - tower-layer
|
||||||
- tower-limit
|
# - tower-limit
|
||||||
- tower-load
|
# - tower-load
|
||||||
- tower-load-shed
|
# - tower-load-shed
|
||||||
- tower-reconnect
|
# - tower-reconnect
|
||||||
- tower-retry
|
# - tower-retry
|
||||||
- tower-service
|
- tower-service
|
||||||
- tower-spawn-ready
|
# - tower-spawn-ready
|
||||||
- tower-test
|
# - tower-test
|
||||||
- tower-timeout
|
# - tower-timeout
|
||||||
- tower-util
|
# - tower-util
|
||||||
- tower
|
# - tower
|
||||||
|
|
||||||
- template: ci/azure-deploy-docs.yml
|
- template: ci/azure-deploy-docs.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|
|
@ -9,17 +9,16 @@ name = "tower-service"
|
||||||
# - README.md
|
# - README.md
|
||||||
# - Update CHANGELOG.md.
|
# - Update CHANGELOG.md.
|
||||||
# - Create "v0.2.x" git tag.
|
# - Create "v0.2.x" git tag.
|
||||||
version = "0.2.0"
|
version = "0.3.0-alpha.1"
|
||||||
authors = ["Tower Maintainers <team@tower-rs.com>"]
|
authors = ["Tower Maintainers <team@tower-rs.com>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
repository = "https://github.com/tower-rs/tower"
|
repository = "https://github.com/tower-rs/tower"
|
||||||
homepage = "https://github.com/tower-rs/tower"
|
homepage = "https://github.com/tower-rs/tower"
|
||||||
documentation = "https://docs.rs/tower-service/0.2.0"
|
documentation = "https://docs.rs/tower-service/0.3.0-alpha.1"
|
||||||
description = """
|
description = """
|
||||||
Trait representing an asynchronous, request / response based, client or server.
|
Trait representing an asynchronous, request / response based, client or server.
|
||||||
"""
|
"""
|
||||||
categories = ["asynchronous", "network-programming"]
|
categories = ["asynchronous", "network-programming"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
futures = "0.1.23"
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#![deny(missing_docs)]
|
#![deny(missing_docs)]
|
||||||
#![doc(html_root_url = "https://docs.rs/tower-service/0.2.0")]
|
#![doc(html_root_url = "https://docs.rs/tower-service/0.3.0-alpha.1")]
|
||||||
|
|
||||||
//! Definition of the core `Service` trait to Tower
|
//! Definition of the core `Service` trait to Tower
|
||||||
//!
|
//!
|
||||||
|
@ -7,9 +7,8 @@
|
||||||
//! request / response clients and servers. It is simple but powerful and is
|
//! request / response clients and servers. It is simple but powerful and is
|
||||||
//! used as the foundation for the rest of Tower.
|
//! used as the foundation for the rest of Tower.
|
||||||
|
|
||||||
extern crate futures;
|
use std::future::Future;
|
||||||
|
use std::task::{Context, Poll};
|
||||||
use futures::{Future, Poll};
|
|
||||||
|
|
||||||
/// An asynchronous function from a `Request` to a `Response`.
|
/// An asynchronous function from a `Request` to a `Response`.
|
||||||
///
|
///
|
||||||
|
@ -41,9 +40,9 @@ use futures::{Future, Poll};
|
||||||
/// impl Service<http::Request> for HelloWorld {
|
/// impl Service<http::Request> for HelloWorld {
|
||||||
/// type Response = http::Response;
|
/// type Response = http::Response;
|
||||||
/// type Error = http::Error;
|
/// type Error = http::Error;
|
||||||
/// type Future = Box<Future<Item = Self::Response, Error = Self::Error>>;
|
/// type Future = Box<Future<Output = Result<Self::Response, Self::Error>>>;
|
||||||
///
|
///
|
||||||
/// fn poll_ready(&mut self) -> Poll<(), Self::Error> {
|
/// fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<(), Self::Error> {
|
||||||
/// Ok(Async::Ready(()))
|
/// Ok(Async::Ready(()))
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
|
@ -90,7 +89,8 @@ use futures::{Future, Poll};
|
||||||
/// ```rust,ignore
|
/// ```rust,ignore
|
||||||
/// use tower_service::Service;
|
/// use tower_service::Service;
|
||||||
/// use tower_layer::Layer;
|
/// use tower_layer::Layer;
|
||||||
/// use futures::Future;
|
/// use std::future::Future;
|
||||||
|
/// use std::task::{Context, Poll};
|
||||||
/// use std::time::Duration;
|
/// use std::time::Duration;
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
|
@ -122,10 +122,10 @@ use futures::{Future, Poll};
|
||||||
/// {
|
/// {
|
||||||
/// type Response = T::Response;
|
/// type Response = T::Response;
|
||||||
/// type Error = T::Error;
|
/// type Error = T::Error;
|
||||||
/// type Future = Box<Future<Item = Self::Response, Error = Self::Error>>;
|
/// type Future = Box<Future<Output = Result<Self::Response, Self::Error>>>;
|
||||||
///
|
///
|
||||||
/// fn poll_ready(&mut self) -> Poll<(), Self::Error> {
|
/// fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||||
/// self.inner.poll_ready().map_err(Into::into)
|
/// self.inner.poll_ready(cx).map_err(Into::into)
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// fn call(&mut self, req: Request) -> Self::Future {
|
/// fn call(&mut self, req: Request) -> Self::Future {
|
||||||
|
@ -182,7 +182,7 @@ pub trait Service<Request> {
|
||||||
type Error;
|
type Error;
|
||||||
|
|
||||||
/// The future response value.
|
/// The future response value.
|
||||||
type Future: Future<Item = Self::Response, Error = Self::Error>;
|
type Future: Future<Output = Result<Self::Response, Self::Error>>;
|
||||||
|
|
||||||
/// Returns `Ready` when the service is able to process requests.
|
/// Returns `Ready` when the service is able to process requests.
|
||||||
///
|
///
|
||||||
|
@ -196,7 +196,7 @@ pub trait Service<Request> {
|
||||||
/// Once `poll_ready` returns `Ready`, a request may be dispatched to the
|
/// Once `poll_ready` returns `Ready`, a request may be dispatched to the
|
||||||
/// service using `call`. Until a request is dispatched, repeated calls to
|
/// service using `call`. Until a request is dispatched, repeated calls to
|
||||||
/// `poll_ready` must return either `Ready` or `Err`.
|
/// `poll_ready` must return either `Ready` or `Err`.
|
||||||
fn poll_ready(&mut self) -> Poll<(), Self::Error>;
|
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>;
|
||||||
|
|
||||||
/// Process the request and return the response asynchronously.
|
/// Process the request and return the response asynchronously.
|
||||||
///
|
///
|
||||||
|
@ -221,8 +221,8 @@ where
|
||||||
type Error = S::Error;
|
type Error = S::Error;
|
||||||
type Future = S::Future;
|
type Future = S::Future;
|
||||||
|
|
||||||
fn poll_ready(&mut self) -> Poll<(), S::Error> {
|
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), S::Error>> {
|
||||||
(**self).poll_ready()
|
(**self).poll_ready(cx)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn call(&mut self, request: Request) -> S::Future {
|
fn call(&mut self, request: Request) -> S::Future {
|
||||||
|
@ -238,8 +238,8 @@ where
|
||||||
type Error = S::Error;
|
type Error = S::Error;
|
||||||
type Future = S::Future;
|
type Future = S::Future;
|
||||||
|
|
||||||
fn poll_ready(&mut self) -> Poll<(), S::Error> {
|
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), S::Error>> {
|
||||||
(**self).poll_ready()
|
(**self).poll_ready(cx)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn call(&mut self, request: Request) -> S::Future {
|
fn call(&mut self, request: Request) -> S::Future {
|
||||||
|
|
Loading…
Reference in New Issue