async fn recovering_next<T, U>(&mut self, target: &T, stream: &mut InnerStream<U>) -> Result<U>
    where
        T: Clone + Send + Sync + 'static,
        S: Service<T, Response = InnerRsp<U>, Error = tonic::Status>,
        S::Future: Send,
    {
        match Self::next(stream).await {
            Ok(u) => Ok(u),
            Err(status) => {
                // Use the streaming error to get a backoff that can be applied if the next lookup
                // fails.
                let backoff = self.recover.recover(status)?;
                let (item, rsp) = self.init(target, Some(backoff)).await?;
                *stream = rsp.into_inner();
                Ok(item)
            }
        }
    }
/// Gets the next profile from the stream
///
/// If the stream or lookup fails in a recoverable way, back-offs are applied and `stream` is
/// updated to point at the updated stream..
Gets the next profile from the stream
If the stream or lookup fails in a recoverable way, back-offs are applied and `stream` is
updated to point at the updated stream
Gets the next profile from the stream If the stream or lookup fails in a recoverable way back - offs are applied and ` stream ` is updated to point at the updated stream
async fn recovering_next<T, U>(&mut self, target: &T, stream: &mut InnerStream<U>) -> Result<U>
    where
        T: Clone + Send + Sync + 'static,
        S: Service<T, Response = InnerRsp<U>, Error = tonic::Status>,
        S::Future: Send,
    {
        match Self::next(stream).await {
            Ok(u) => Ok(u),
            Err(status) => {
                // Use the streaming error to get a backoff that can be applied if the next lookup
                // fails.
                let backoff = self.recover.recover(status)?;
                let (item, rsp) = self.init(target, Some(backoff)).await?;
                *stream = rsp.into_inner();
                Ok(item)
            }
        }
    }
async fn recovering_next < T , U > ( & mut self , target : & T , stream : & mut InnerStream < U > ) -> Result < U > where T : Clone + Send + Sync + ' static , S : Service < T , Response = InnerRsp < U > , Error = tonic :: Status > , S :: Future : Send , { match Self :: next ( stream ) . await { Ok ( u ) => Ok ( u ) , Err ( status ) => { // Use the streaming error to get a backoff that can be applied if the next lookup // fails. let backoff = self . recover . recover ( status ) ? ; let ( item , rsp ) = self . init ( target , Some ( backoff ) ) . await ? ; * stream = rsp . into_inner ( ) ; Ok ( item ) } } }
Gets the next profile from the stream
If the stream or lookup fails in a recoverable way, back-offs are applied and `stream` is
updated to point at the updated stream..
Gets the next profile from the stream If the stream or lookup fails in a recoverable way back - offs are applied and ` stream ` is updated to point at the updated stream ..
&mut self
target
&T
stream
&mut InnerStream<U>
&mut self
target
&T
stream
&mut InnerStream<U>