public abstract class oadd.org.apache.curator.RetryLoop extends java.lang.Object
{
public void <init>()
{
oadd.org.apache.curator.RetryLoop v;
v := @this: oadd.org.apache.curator.RetryLoop;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static oadd.org.apache.curator.RetrySleeper getDefaultRetrySleeper()
{
oadd.org.apache.curator.RetrySleeper v;
v = staticinvoke <oadd.org.apache.curator.RetryLoopImpl: oadd.org.apache.curator.RetrySleeper getRetrySleeper()>();
return v;
}
public static java.lang.Object callWithRetry(oadd.org.apache.curator.CuratorZookeeperClient, java.util.concurrent.Callable) throws java.lang.Exception
{
java.lang.Throwable v;
oadd.org.apache.curator.connection.ThreadLocalRetryLoop v;
java.util.concurrent.Callable v;
oadd.org.apache.curator.CuratorZookeeperClient v;
java.util.function.Supplier v;
java.lang.Exception v;
oadd.org.apache.curator.RetryLoop v;
java.lang.Object v;
boolean v;
v := @parameter: oadd.org.apache.curator.CuratorZookeeperClient;
v := @parameter: java.util.concurrent.Callable;
virtualinvoke v.<oadd.org.apache.curator.CuratorZookeeperClient: void internalBlockUntilConnectedOrTimedOut()>();
v = null;
v = new oadd.org.apache.curator.connection.ThreadLocalRetryLoop;
specialinvoke v.<oadd.org.apache.curator.connection.ThreadLocalRetryLoop: void <init>()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <oadd.org.apache.curator.RetryLoop$newRetryLoop__746: java.util.function.Supplier bootstrap$(oadd.org.apache.curator.CuratorZookeeperClient)>(v);
v = virtualinvoke v.<oadd.org.apache.curator.connection.ThreadLocalRetryLoop: oadd.org.apache.curator.RetryLoop getRetryLoop(java.util.function.Supplier)>(v);
label:
v = virtualinvoke v.<oadd.org.apache.curator.RetryLoop: boolean shouldContinue()>();
if v == 0 goto label;
label:
v = interfaceinvoke v.<java.util.concurrent.Callable: java.lang.Object call()>();
virtualinvoke v.<oadd.org.apache.curator.RetryLoop: void markComplete()>();
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
virtualinvoke v.<oadd.org.apache.curator.RetryLoop: void takeException(java.lang.Exception)>(v);
goto label;
label:
virtualinvoke v.<oadd.org.apache.curator.connection.ThreadLocalRetryLoop: void release()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<oadd.org.apache.curator.connection.ThreadLocalRetryLoop: void release()>();
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public abstract boolean shouldContinue();
public abstract void markComplete();
public abstract void takeException(java.lang.Exception) throws java.lang.Exception;
}