abstract class io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner extends io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager$ClientRunner
{
private final io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager;
private final java.util.concurrent.atomic.AtomicBoolean reconnectPending;
public void <init>(okhttp.OkHttpClient, io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager)
{
okhttp.OkHttpClient v;
io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager v;
java.util.concurrent.atomic.AtomicBoolean v;
io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner v;
v := @this: io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner;
v := @parameter: okhttp.OkHttpClient;
v := @parameter: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager;
specialinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager$ClientRunner: void <init>(okhttp.OkHttpClient)>(v);
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: java.util.concurrent.atomic.AtomicBoolean reconnectPending> = v;
v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager> = v;
return;
}
void run(okhttp.Request)
{
okhttp.Request v;
okhttp.OkHttpClient v;
io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner$1 v;
okhttp.Call v;
io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner v;
v := @this: io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner;
v := @parameter: okhttp.Request;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: okhttp.OkHttpClient client()>();
v = virtualinvoke v.<okhttp.OkHttpClient: okhttp.Call newCall(okhttp.Request)>(v);
v = new io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner$1;
specialinvoke v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner$1: void <init>(io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner)>(v);
interfaceinvoke v.<okhttp.Call: void enqueue(okhttp.Callback)>(v);
return;
}
private void scheduleReconnect(boolean)
{
org.slf4j.Logger v, v;
io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager v, v, v, v;
java.lang.Runnable v;
io.fabric.kubernetes.client.WatcherException v;
io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner v;
boolean v, v, v;
v := @this: io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner;
v := @parameter: boolean;
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: boolean isForceClosed()>();
if v == 0 goto label;
v = <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Ignoring error for already closed/closing connection");
return;
label:
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: boolean cannotReconnect()>();
if v == 0 goto label;
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = new io.fabric.kubernetes.client.WatcherException;
specialinvoke v.<io.fabric.kubernetes.client.WatcherException: void <init>(java.lang.String)>("Connection unexpectedly closed");
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void onClose(io.fabric.kubernetes.client.WatcherException)>(v);
return;
label:
v = <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Submitting reconnect task to the executor");
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = staticinvoke <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner$lambda_scheduleReconnect_1__27: java.lang.Runnable bootstrap$(io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner,boolean)>(v, v);
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void submit(java.lang.Runnable)>(v);
return;
}
public void onMessage(java.lang.String)
{
io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager v, v, v, v;
java.lang.ClassCastException v;
io.fabric.kubernetes.api.model.ListMeta v;
java.lang.String v, v, v, v, v;
io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner v;
boolean v, v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v;
io.fabric.kubernetes.api.model.WatchEvent v;
java.lang.IllegalArgumentException v;
java.util.List v;
io.fabric.kubernetes.api.model.KubernetesResource v;
io.fabric.kubernetes.client.Watcher$Action v, v;
io.fabric.kubernetes.api.model.ObjectMeta v;
java.lang.Object v;
v := @this: io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner;
v := @parameter: java.lang.String;
label:
v = staticinvoke <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: io.fabric.kubernetes.api.model.WatchEvent readWatchEvent(java.lang.String)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.api.model.WatchEvent: io.fabric.kubernetes.api.model.KubernetesResource getObject()>();
v = v instanceof io.fabric.kubernetes.api.model.HasMetadata;
if v == 0 goto label;
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = interfaceinvoke v.<io.fabric.kubernetes.api.model.HasMetadata: io.fabric.kubernetes.api.model.ObjectMeta getMetadata()>();
v = virtualinvoke v.<io.fabric.kubernetes.api.model.ObjectMeta: java.lang.String getResourceVersion()>();
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void updateResourceVersion(java.lang.String)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.api.model.WatchEvent: java.lang.String getType()>();
v = staticinvoke <io.fabric.kubernetes.client.Watcher$Action: io.fabric.kubernetes.client.Watcher$Action valueOf(java.lang.String)>(v);
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void eventReceived(io.fabric.kubernetes.client.Watcher$Action,java.lang.Object)>(v, v);
goto label;
label:
v = v instanceof io.fabric.kubernetes.api.model.KubernetesResourceList;
if v == 0 goto label;
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = interfaceinvoke v.<io.fabric.kubernetes.api.model.KubernetesResourceList: io.fabric.kubernetes.api.model.ListMeta getMetadata()>();
v = virtualinvoke v.<io.fabric.kubernetes.api.model.ListMeta: java.lang.String getResourceVersion()>();
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void updateResourceVersion(java.lang.String)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.api.model.WatchEvent: java.lang.String getType()>();
v = staticinvoke <io.fabric.kubernetes.client.Watcher$Action: io.fabric.kubernetes.client.Watcher$Action valueOf(java.lang.String)>(v);
v = interfaceinvoke v.<io.fabric.kubernetes.api.model.KubernetesResourceList: java.util.List getItems()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void eventReceived(io.fabric.kubernetes.client.Watcher$Action,java.lang.Object)>(v, v);
goto label;
label:
v = v instanceof io.fabric.kubernetes.api.model.Status;
if v == 0 goto label;
specialinvoke v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: void onStatus(io.fabric.kubernetes.api.model.Status)>(v);
goto label;
label:
v = <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Unknown message received: {}", v);
label:
goto label;
label:
v := @caughtexception;
v = <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Received wrong type of object for watch", v);
goto label;
label:
v := @caughtexception;
v = <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Invalid event type", v);
label:
return;
catch java.lang.ClassCastException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
private void onStatus(io.fabric.kubernetes.api.model.Status)
{
io.fabric.kubernetes.client.KubernetesClientException v;
org.slf4j.Logger v;
io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager v, v;
java.lang.Integer v;
io.fabric.kubernetes.client.WatcherException v;
io.fabric.kubernetes.client.Watcher$Action v;
int v;
io.fabric.kubernetes.api.model.Status v;
java.lang.String v, v;
io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner v;
v := @this: io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner;
v := @parameter: io.fabric.kubernetes.api.model.Status;
v = virtualinvoke v.<io.fabric.kubernetes.api.model.Status: java.lang.Integer getCode()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v != 410 goto label;
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: void close()>();
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = new io.fabric.kubernetes.client.WatcherException;
v = virtualinvoke v.<io.fabric.kubernetes.api.model.Status: java.lang.String getMessage()>();
v = new io.fabric.kubernetes.client.KubernetesClientException;
specialinvoke v.<io.fabric.kubernetes.client.KubernetesClientException: void <init>(io.fabric.kubernetes.api.model.Status)>(v);
specialinvoke v.<io.fabric.kubernetes.client.WatcherException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void onClose(io.fabric.kubernetes.client.WatcherException)>(v);
return;
label:
v = v.<io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager$HTTPClientRunner: io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager manager>;
v = <io.fabric.kubernetes.client.Watcher$Action: io.fabric.kubernetes.client.Watcher$Action ERROR>;
virtualinvoke v.<io.fabric.kubernetes.client.dsl.internal.AbstractWatchManager: void eventReceived(io.fabric.kubernetes.client.Watcher$Action,java.lang.Object)>(v, null);
v = <io.fabric.kubernetes.client.dsl.internal.WatchHTTPManager: org.slf4j.Logger logger>;
v = virtualinvoke v.<io.fabric.kubernetes.api.model.Status: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Error received: {}", v);
return;
}
}