public final class org.apache.hc.client.http.impl.classic.BackoffStrategyExec extends java.lang.Object implements org.apache.hc.client.http.classic.ExecChainHandler
{
private final org.apache.hc.client.http.classic.ConnectionBackoffStrategy connectionBackoffStrategy;
private final org.apache.hc.client.http.classic.BackoffManager backoffManager;
public void <init>(org.apache.hc.client.http.classic.ConnectionBackoffStrategy, org.apache.hc.client.http.classic.BackoffManager)
{
org.apache.hc.client.http.classic.ConnectionBackoffStrategy v;
org.apache.hc.client.http.classic.BackoffManager v;
org.apache.hc.client.http.impl.classic.BackoffStrategyExec v;
v := @this: org.apache.hc.client.http.impl.classic.BackoffStrategyExec;
v := @parameter: org.apache.hc.client.http.classic.ConnectionBackoffStrategy;
v := @parameter: org.apache.hc.client.http.classic.BackoffManager;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Connection backoff strategy");
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Backoff manager");
v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.ConnectionBackoffStrategy connectionBackoffStrategy> = v;
v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.BackoffManager backoffManager> = v;
return;
}
public org.apache.hc.core.http.ClassicHttpResponse execute(org.apache.hc.core.http.ClassicHttpRequest, org.apache.hc.client.http.classic.ExecChain$Scope, org.apache.hc.client.http.classic.ExecChain) throws java.io.IOException, org.apache.hc.core.http.HttpException
{
org.apache.hc.client.http.classic.BackoffManager v, v, v;
java.lang.Exception v;
org.apache.hc.client.http.HttpRoute v;
org.apache.hc.client.http.classic.ConnectionBackoffStrategy v, v;
org.apache.hc.core.http.ClassicHttpRequest v;
org.apache.hc.client.http.impl.classic.BackoffStrategyExec v;
org.apache.hc.core.http.ClassicHttpResponse v;
org.apache.hc.client.http.classic.ExecChain v;
org.apache.hc.client.http.classic.ExecChain$Scope v;
boolean v, v;
v := @this: org.apache.hc.client.http.impl.classic.BackoffStrategyExec;
v := @parameter: org.apache.hc.core.http.ClassicHttpRequest;
v := @parameter: org.apache.hc.client.http.classic.ExecChain$Scope;
v := @parameter: org.apache.hc.client.http.classic.ExecChain;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP request");
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Scope");
v = v.<org.apache.hc.client.http.classic.ExecChain$Scope: org.apache.hc.client.http.HttpRoute route>;
label:
v = interfaceinvoke v.<org.apache.hc.client.http.classic.ExecChain: org.apache.hc.core.http.ClassicHttpResponse proceed(org.apache.hc.core.http.ClassicHttpRequest,org.apache.hc.client.http.classic.ExecChain$Scope)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.ConnectionBackoffStrategy connectionBackoffStrategy>;
v = interfaceinvoke v.<org.apache.hc.client.http.classic.ConnectionBackoffStrategy: boolean shouldBackoff(java.lang.Throwable)>(v);
if v == 0 goto label;
v = v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.BackoffManager backoffManager>;
interfaceinvoke v.<org.apache.hc.client.http.classic.BackoffManager: void backOff(org.apache.hc.client.http.HttpRoute)>(v);
label:
throw v;
label:
v = v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.ConnectionBackoffStrategy connectionBackoffStrategy>;
v = interfaceinvoke v.<org.apache.hc.client.http.classic.ConnectionBackoffStrategy: boolean shouldBackoff(org.apache.hc.core.http.HttpResponse)>(v);
if v == 0 goto label;
v = v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.BackoffManager backoffManager>;
interfaceinvoke v.<org.apache.hc.client.http.classic.BackoffManager: void backOff(org.apache.hc.client.http.HttpRoute)>(v);
goto label;
label:
v = v.<org.apache.hc.client.http.impl.classic.BackoffStrategyExec: org.apache.hc.client.http.classic.BackoffManager backoffManager>;
interfaceinvoke v.<org.apache.hc.client.http.classic.BackoffManager: void probe(org.apache.hc.client.http.HttpRoute)>(v);
label:
return v;
catch java.io.IOException from label to label with label;
catch org.apache.hc.core.http.HttpException from label to label with label;
}
}