diff --git a/crates/remote/src/grpc_remote_client.rs b/crates/remote/src/grpc_remote_client.rs index 10f325816a8..148b297f151 100644 --- a/crates/remote/src/grpc_remote_client.rs +++ b/crates/remote/src/grpc_remote_client.rs @@ -23,7 +23,7 @@ use tonic::{ transport::{Channel, Endpoint}, Code, }; -use tower::{limit::ConcurrencyLimit, retry::Retry, timeout::Timeout, ServiceBuilder}; +use tower::{limit::ConcurrencyLimit, timeout::Timeout, ServiceBuilder}; use tracing::{debug, error, trace, warn}; type LayeredService = Timeout>>; @@ -43,7 +43,6 @@ pub struct GrpcRemoteClient { impl GrpcRemoteClient { fn create_clients(&mut self, headers: HeaderMap) { let service: LayeredService = ServiceBuilder::new() - // .retry() .timeout(Duration::from_secs(60 * 60)) .concurrency_limit(150) .layer(RequestHeadersLayer::new(headers)) diff --git a/crates/remote/src/grpc_services.rs b/crates/remote/src/grpc_services.rs index c4be5ff442f..dcf27a2c29d 100644 --- a/crates/remote/src/grpc_services.rs +++ b/crates/remote/src/grpc_services.rs @@ -1,14 +1,25 @@ use http::{header::HeaderMap, Request}; +// use std::future::Future; use std::task::{Context, Poll}; -use tower::retry::Policy; +// use tower::retry::Policy; use tower::{Layer, Service}; -// pub struct RetryPolicy(u8); +// TODO: blocked +// https://github.com/hyperium/tonic/issues/733 +// https://github.com/tower-rs/tower/pull/790 +// https://github.com/tower-rs/tower/issues/682 -// impl Policy, Response, E> for RetryPolicy { -// type Future = future::Ready<()>; +// pub struct RetryPolicy(u8); -// fn retry(&mut self, req: &mut Req, result: &mut Result) -> Option { +// impl Policy, Response, E> for RetryPolicy { +// // type Future = future::Ready<()>; +// type Future: Future; + +// fn retry( +// &mut self, +// req: &mut Request, +// result: &mut Result, E>, +// ) -> Option { // match result { // Ok(_) => { // // Treat all `Response`s as success, @@ -30,7 +41,7 @@ use tower::{Layer, Service}; // } // } -// fn clone_request(&mut self, req: &Req) -> Option { +// fn clone_request(&mut self, req: &Request) -> Option> { // Some(req.clone()) // } // }