Send feedback
  
   
 
  
    
      Class ExponentialBackoffPolicy (2.41.0)
    
    
       
    
    
      
      Stay organized with collections
     
    
      
      Save and categorize content based on your preferences.
     
    
  
      
     
  
  
   
  
    
  
  
    
    
    
  Version 2.41.0keyboard_arrow_down  
  
 
    
    
    
    
      
  
  
  Implement a simple exponential backoff policy. 
 
  Constructors
   
  ExponentialBackoffPolicy(internal::RPCPolicyParameters) 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        defaults 
        
          internal::RPCPolicyParameters
           
          
          
         
       
     
  
  ExponentialBackoffPolicy(std::chrono::duration< Rep1, Period1 >, std::chrono::duration< Rep2, Period2 >) 
  
    
      
        Parameters  
       
      
        Name  
        Description  
       
      
        initial_delay 
        
          std::chrono::duration< Rep1, Period1 >
           
          
          
         
       
      
        maximum_delay 
        
          std::chrono::duration< Rep2, Period2 >
           
          
          
         
       
      
        typename Rep1 
        
          
           
          
          
         
       
      
        typename Period1 
        
          
           
          
          
         
       
      
        typename Rep2 
        
          
           
          
          
         
       
      
        typename Period2 
        
          
           
          
          
         
       
     
  
  Functions
   
  virtual clone() const 
  Return a new copy of this object. 
 
  Typically implemented as 
return std::unique_ptr<RPCRetryPolicy>(new Foo(*this));
 
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        std::unique_ptr< RPCBackoffPolicy >  
         
       
     
  
  virtual Setup(grpc::ClientContext &) const 
  Update the ClientContext for the next call. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        context 
        
          grpc::ClientContext &
           
          
          
         
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        void  
         
       
     
  
  virtual OnCompletion(Status const &) 
  Return the delay after an RPC operation has completed. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        status 
        
          Status const &
           
          the status returned by the last RPC operation. 
          
         
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        std::chrono::milliseconds  
        true the delay before trying the operation again. 
 
       
     
  
  virtual OnCompletion(grpc::Status const &) 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        status 
        
          grpc::Status const &
           
          
          
         
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        std::chrono::milliseconds  
         
       
     
  
  OnCompletion() 
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        std::chrono::milliseconds  
         
       
     
  
 
     
    
  
  
  
     
  
 
  
    
    
      
    
     
  
       
         
  
  
    
    Send feedback
  
   
 
       
    
    
  
  
 
  Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
  Last updated 2025-10-30 UTC.
 
 
  
  
    
    
    
      
  
  
    Need to tell us more?
  
   
 
     
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-10-30 UTC."],[],[]]