class org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback extends java.lang.Object implements org.apache.camel.AsyncCallback
{
private final org.apache.camel.AsyncCallback callback;
private final org.apache.camel.Exchange exchange;
final org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer this$0;
void <init>(org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer, org.apache.camel.Exchange, org.apache.camel.AsyncCallback)
{
org.apache.camel.AsyncCallback v;
org.apache.camel.Exchange v;
org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback v;
org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer v;
v := @this: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback;
v := @parameter: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.AsyncCallback;
v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.AsyncCallback callback> = v;
v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.Exchange exchange> = v;
return;
}
public void done(boolean)
{
org.apache.camel.AsyncCallback v;
long v;
org.apache.camel.Exchange v;
org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback v;
org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer v, v, v, v;
java.util.concurrent.atomic.AtomicInteger v, v;
boolean v, v;
v := @this: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback;
v := @parameter: boolean;
if v != 0 goto label;
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer this$0>;
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.Exchange exchange>;
v = virtualinvoke v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer: boolean hasFailed(org.apache.camel.Exchange)>(v);
if v != 0 goto label;
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer this$0>;
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer: java.util.concurrent.atomic.AtomicInteger failures>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: void set(int)>(0);
goto label;
label:
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer this$0>;
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer: java.util.concurrent.atomic.AtomicInteger failures>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer this$0>;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer: long lastFailure> = v;
label:
v = v.<org.apache.camel.processor.loadbalancer.CircuitBreakerLoadBalancer$CircuitBreakerCallback: org.apache.camel.AsyncCallback callback>;
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(v);
return;
}
}