refactor(lib): fix many lint warnings
This commit is contained in:
@@ -29,6 +29,7 @@ pub trait Payload: Send + 'static {
|
||||
///
|
||||
/// Note: Trailers aren't currently used for HTTP/1, only for HTTP/2.
|
||||
fn poll_trailers(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Option<Result<HeaderMap, Self::Error>>> {
|
||||
drop(cx);
|
||||
Poll::Ready(None)
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
//! If don't have need to manage connections yourself, consider using the
|
||||
//! higher-level [Client](super) API.
|
||||
use std::fmt;
|
||||
use std::marker::PhantomData;
|
||||
use std::mem;
|
||||
use std::sync::Arc;
|
||||
|
||||
|
||||
@@ -14,10 +14,8 @@ use std::net::{
|
||||
SocketAddrV4, SocketAddrV6,
|
||||
};
|
||||
use std::str::FromStr;
|
||||
use std::sync::Arc;
|
||||
|
||||
use futures_util::{FutureExt, StreamExt};
|
||||
use tokio_executor::TypedExecutor;
|
||||
use tokio_sync::{mpsc, oneshot};
|
||||
|
||||
use crate::common::{Future, Never, Pin, Poll, Unpin, task};
|
||||
@@ -330,7 +328,7 @@ impl Resolve for TokioThreadpoolGaiResolver {
|
||||
impl Future for TokioThreadpoolGaiFuture {
|
||||
type Output = Result<GaiAddrs, io::Error>;
|
||||
|
||||
fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
fn poll(self: Pin<&mut Self>, _cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
match ready!(tokio_executor::threadpool::blocking(|| (self.name.as_str(), 0).to_socket_addrs())) {
|
||||
Ok(Ok(iter)) => Poll::Ready(Ok(GaiAddrs { inner: IpAddrs { iter } })),
|
||||
Ok(Err(e)) => Poll::Ready(Err(e)),
|
||||
|
||||
@@ -2,7 +2,7 @@ use futures_core::Stream;
|
||||
use futures_channel::{mpsc, oneshot};
|
||||
use futures_util::future;
|
||||
|
||||
use crate::common::{Future, Never, Pin, Poll, task};
|
||||
use crate::common::{Future, Pin, Poll, task};
|
||||
|
||||
pub type RetryPromise<T, U> = oneshot::Receiver<Result<U, (crate::Error, Option<T>)>>;
|
||||
pub type Promise<T> = oneshot::Receiver<Result<T, crate::Error>>;
|
||||
@@ -136,9 +136,6 @@ pub struct Receiver<T, U> {
|
||||
taker: want::Taker,
|
||||
}
|
||||
|
||||
//impl<T, U> Stream for Receiver<T, U> {
|
||||
// type Item = (T, Callback<T, U>);
|
||||
|
||||
impl<T, U> Receiver<T, U> {
|
||||
pub(crate) fn poll_next(&mut self, cx: &mut task::Context<'_>) -> Poll<Option<(T, Callback<T, U>)>> {
|
||||
match Pin::new(&mut self.inner).poll_next(cx) {
|
||||
|
||||
@@ -95,7 +95,7 @@ where
|
||||
{
|
||||
type Output = F::Output;
|
||||
|
||||
fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
fn poll(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
let me = unsafe { self.get_unchecked_mut() };
|
||||
loop {
|
||||
match mem::replace(&mut me.state, State::Draining) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::io::{self, Read};
|
||||
use std::marker::Unpin;
|
||||
|
||||
use bytes::{Buf, BufMut, Bytes, IntoBuf};
|
||||
use bytes::{Buf, Bytes, IntoBuf};
|
||||
use tokio_io::{AsyncRead, AsyncWrite};
|
||||
|
||||
use crate::common::{Pin, Poll, task};
|
||||
@@ -67,35 +67,6 @@ where
|
||||
}
|
||||
Pin::new(&mut self.inner).poll_read(cx, buf)
|
||||
}
|
||||
|
||||
/*
|
||||
#[inline]
|
||||
fn read_buf<B: BufMut>(&mut self, buf: &mut B) -> Poll<usize, io::Error> {
|
||||
use std::cmp;
|
||||
|
||||
if let Some(bs) = self.pre.take() {
|
||||
let pre_len = bs.len();
|
||||
// If there are no remaining bytes, let the bytes get dropped.
|
||||
if pre_len > 0 {
|
||||
let cnt = cmp::min(buf.remaining_mut(), pre_len);
|
||||
let pre_buf = bs.into_buf();
|
||||
let mut xfer = Buf::take(pre_buf, cnt);
|
||||
buf.put(&mut xfer);
|
||||
|
||||
let mut new_pre = xfer.into_inner().into_inner();
|
||||
new_pre.advance(cnt);
|
||||
|
||||
// Put back whats left
|
||||
if new_pre.len() > 0 {
|
||||
self.pre = Some(new_pre);
|
||||
}
|
||||
|
||||
return Ok(Async::Ready(cnt));
|
||||
}
|
||||
}
|
||||
self.inner.read_buf(buf)
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
impl<T> AsyncWrite for Rewind<T>
|
||||
@@ -114,12 +85,10 @@ where
|
||||
Pin::new(&mut self.inner).poll_shutdown(cx)
|
||||
}
|
||||
|
||||
/*
|
||||
#[inline]
|
||||
fn write_buf<B: Buf>(&mut self, buf: &mut B) -> Poll<usize, io::Error> {
|
||||
self.inner.write_buf(buf)
|
||||
fn poll_write_buf<B: Buf>(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>, buf: &mut B) -> Poll<io::Result<usize>> {
|
||||
Pin::new(&mut self.inner).poll_write_buf(cx, buf)
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
use bytes::IntoBuf;
|
||||
use futures_channel::{mpsc, oneshot};
|
||||
use futures_util::future::{self, FutureExt as _, Either};
|
||||
use futures_util::stream::StreamExt as _;
|
||||
use futures_util::try_future::TryFutureExt as _;
|
||||
//use futures::future::{self, Either};
|
||||
//use futures::sync::{mpsc, oneshot};
|
||||
use h2::client::{Builder, SendRequest};
|
||||
use tokio_io::{AsyncRead, AsyncWrite};
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use std::error::Error as StdError;
|
||||
use std::marker::Unpin;
|
||||
|
||||
use futures_core::Stream;
|
||||
use h2::Reason;
|
||||
use h2::server::{Builder, Connection, Handshake, SendResponse};
|
||||
use tokio_io::{AsyncRead, AsyncWrite};
|
||||
@@ -145,8 +144,9 @@ where
|
||||
match service.poll_ready(cx) {
|
||||
Poll::Ready(Ok(())) => (),
|
||||
Poll::Pending => {
|
||||
// use `poll_close` instead of `poll`, in order to avoid accepting a request.
|
||||
ready!(self.conn.poll_close(cx).map_err(crate::Error::new_h2))?;
|
||||
// use `poll_closed` instead of `poll_accept`,
|
||||
// in order to avoid accepting a request.
|
||||
ready!(self.conn.poll_closed(cx).map_err(crate::Error::new_h2))?;
|
||||
trace!("incoming connection complete");
|
||||
return Poll::Ready(Ok(()));
|
||||
}
|
||||
@@ -193,7 +193,7 @@ where
|
||||
|
||||
debug_assert!(self.closing.is_some(), "poll_server broke loop without closing");
|
||||
|
||||
ready!(self.conn.poll_close(cx).map_err(crate::Error::new_h2))?;
|
||||
ready!(self.conn.poll_closed(cx).map_err(crate::Error::new_h2))?;
|
||||
|
||||
Poll::Ready(Err(self.closing.take().expect("polled after error")))
|
||||
}
|
||||
@@ -237,7 +237,7 @@ where
|
||||
B::Data: Unpin,
|
||||
E: Into<Box<dyn StdError + Send + Sync>>,
|
||||
{
|
||||
fn poll2(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<crate::Result<()>> {
|
||||
fn poll2(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<crate::Result<()>> {
|
||||
// Safety: State::{Service, Body} futures are never moved
|
||||
let me = unsafe { self.get_unchecked_mut() };
|
||||
loop {
|
||||
@@ -328,7 +328,7 @@ where
|
||||
{
|
||||
type Output = ();
|
||||
|
||||
fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
fn poll(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
self.poll2(cx).map(|res| {
|
||||
if let Err(e) = res {
|
||||
debug!("stream error: {}", e);
|
||||
|
||||
@@ -12,7 +12,6 @@ use std::error::Error as StdError;
|
||||
use std::fmt;
|
||||
use std::mem;
|
||||
#[cfg(feature = "runtime")] use std::net::SocketAddr;
|
||||
use std::sync::Arc;
|
||||
#[cfg(feature = "runtime")] use std::time::Duration;
|
||||
|
||||
use bytes::Bytes;
|
||||
@@ -785,7 +784,7 @@ where
|
||||
B: Payload,
|
||||
E: H2Exec<<S::Service as Service<Body>>::Future, B>,
|
||||
{
|
||||
pub(super) fn poll_watch<W>(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>, watcher: &W) -> Poll<crate::Result<()>>
|
||||
pub(super) fn poll_watch<W>(self: Pin<&mut Self>, cx: &mut task::Context<'_>, watcher: &W) -> Poll<crate::Result<()>>
|
||||
where
|
||||
E: NewSvcExec<IO, S::Future, S::Service, E, W>,
|
||||
W: Watcher<IO, S::Service, E>,
|
||||
@@ -904,7 +903,7 @@ pub(crate) mod spawn_all {
|
||||
{
|
||||
type Output = ();
|
||||
|
||||
fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
fn poll(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
// If it weren't for needing to name this type so the `Send` bounds
|
||||
// could be projected to the `Serve` executor, this could just be
|
||||
// an `async fn`, and much safer. Woe is me.
|
||||
|
||||
@@ -216,7 +216,7 @@ where
|
||||
{
|
||||
type Output = crate::Result<()>;
|
||||
|
||||
fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
fn poll(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
self.spawn_all().poll_watch(cx, &NoopWatcher)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ where
|
||||
{
|
||||
type Output = crate::Result<()>;
|
||||
|
||||
fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
fn poll(self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<Self::Output> {
|
||||
// Safety: the futures are NEVER moved, self.state is overwritten instead.
|
||||
let me = unsafe { self.get_unchecked_mut() };
|
||||
loop {
|
||||
|
||||
@@ -259,7 +259,7 @@ mod addr_stream {
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn poll_flush(mut self: Pin<&mut Self>, cx: &mut task::Context<'_>) -> Poll<io::Result<()>> {
|
||||
fn poll_flush(self: Pin<&mut Self>, _cx: &mut task::Context<'_>) -> Poll<io::Result<()>> {
|
||||
// TCP flush is a noop
|
||||
Poll::Ready(Ok(()))
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ pub trait MakeService<Target, ReqBody>: sealed::Sealed<Target, ReqBody> {
|
||||
/// The error type that can be returned by `Service`s.
|
||||
type Error: Into<Box<dyn StdError + Send + Sync>>;
|
||||
|
||||
/// The resolved `Service` from `new_service()`.
|
||||
/// The resolved `Service` from `make_service()`.
|
||||
type Service: Service<
|
||||
ReqBody,
|
||||
ResBody=Self::ResBody,
|
||||
@@ -31,16 +31,14 @@ pub trait MakeService<Target, ReqBody>: sealed::Sealed<Target, ReqBody> {
|
||||
/// The implementation of this method is allowed to return a `Ready` even if
|
||||
/// the factory is not ready to create a new service. In this case, the future
|
||||
/// returned from `make_service` will resolve to an error.
|
||||
fn poll_ready(&mut self, cx: &mut task::Context<'_>) -> Poll<Result<(), Self::MakeError>> {
|
||||
Poll::Ready(Ok(()))
|
||||
}
|
||||
fn poll_ready(&mut self, cx: &mut task::Context<'_>) -> Poll<Result<(), Self::MakeError>>;
|
||||
|
||||
/// Create a new `Service`.
|
||||
fn make_service(&mut self, target: Target) -> Self::Future;
|
||||
}
|
||||
|
||||
impl<T, Target, S, B1, B2, E, F> MakeService<Target, B1> for T
|
||||
where
|
||||
impl<T, Target, S, B1, B2, E, F> MakeService<Target, B1> for T
|
||||
where
|
||||
T: for<'a> tower_service::Service<&'a Target, Response = S, Error = E, Future = F>,
|
||||
S: tower_service::Service<crate::Request<B1>, Response = crate::Response<B2>>,
|
||||
E: Into<Box<dyn std::error::Error + Send + Sync>>,
|
||||
@@ -191,7 +189,7 @@ where
|
||||
type Response = Svc;
|
||||
type Future = Ret;
|
||||
|
||||
fn poll_ready(&mut self, cx: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
fn poll_ready(&mut self, _cx: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
Poll::Ready(Ok(()))
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ use std::fmt;
|
||||
use std::marker::PhantomData;
|
||||
|
||||
use crate::body::Payload;
|
||||
use crate::common::{Future, Never, Poll, task};
|
||||
use crate::common::{Future, Poll, task};
|
||||
use crate::{Request, Response};
|
||||
|
||||
/// An asynchronous function from `Request` to `Response`.
|
||||
@@ -26,15 +26,13 @@ pub trait Service<ReqBody>: sealed::Sealed<ReqBody> {
|
||||
/// The implementation of this method is allowed to return a `Ready` even if
|
||||
/// the service is not ready to process. In this case, the future returned
|
||||
/// from `call` will resolve to an error.
|
||||
fn poll_ready(&mut self, cx: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
Poll::Ready(Ok(()))
|
||||
}
|
||||
fn poll_ready(&mut self, cx: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>>;
|
||||
|
||||
/// Calls this `Service` with a request, returning a `Future` of the response.
|
||||
fn call(&mut self, req: Request<ReqBody>) -> Self::Future;
|
||||
}
|
||||
|
||||
impl<T, B1, B2> Service<B1> for T
|
||||
impl<T, B1, B2> Service<B1> for T
|
||||
where
|
||||
T: tower_service::Service<Request<B1>, Response = Response<B2>>,
|
||||
B2: Payload,
|
||||
@@ -112,7 +110,7 @@ where
|
||||
type Error = E;
|
||||
type Future = Ret;
|
||||
|
||||
fn poll_ready(&mut self, cx: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
fn poll_ready(&mut self, _cx: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||
Poll::Ready(Ok(()))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user