final class org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient extends java.lang.Object implements org.apache.dubbo.remoting.exchange.ExchangeClient
{
protected static final java.lang.String REQUEST_WITH_WARNING_KEY;
private static final org.apache.dubbo.common.logger.Logger logger;
protected final boolean requestWithWarning;
private final org.apache.dubbo.common.URL url;
private final org.apache.dubbo.remoting.exchange.ExchangeHandler requestHandler;
private final java.util.concurrent.locks.Lock connectLock;
private final int warning_period;
private final boolean initialState;
private volatile org.apache.dubbo.remoting.exchange.ExchangeClient client;
private java.util.concurrent.atomic.AtomicLong warningcount;
public void <init>(org.apache.dubbo.common.URL, org.apache.dubbo.remoting.exchange.ExchangeHandler)
{
java.util.concurrent.locks.ReentrantLock v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v, v;
java.lang.Boolean v;
org.apache.dubbo.remoting.exchange.ExchangeHandler v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: org.apache.dubbo.remoting.exchange.ExchangeHandler;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.locks.Lock connectLock> = v;
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: int warning_period> = 5000;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.atomic.AtomicLong warningcount> = v;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<java.lang.Boolean: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.dubbo.common.URL: org.apache.dubbo.common.URL addParameter(java.lang.String,java.lang.String)>("send.reconnect", v);
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url> = v;
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeHandler requestHandler> = v;
v = virtualinvoke v.<org.apache.dubbo.common.URL: boolean getParameter(java.lang.String,boolean)>("connect.lazy.initial.state", 1);
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: boolean initialState> = v;
v = virtualinvoke v.<org.apache.dubbo.common.URL: boolean getParameter(java.lang.String,boolean)>("lazyclient_request_with_warning", 0);
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: boolean requestWithWarning> = v;
return;
}
private void initClient() throws org.apache.dubbo.remoting.RemotingException
{
java.lang.Throwable v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v, v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v, v;
java.lang.String v;
boolean v;
org.apache.dubbo.common.logger.Logger v, v;
java.util.concurrent.locks.Lock v, v, v, v;
org.apache.dubbo.remoting.exchange.ExchangeHandler v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v == null goto label;
return;
label:
v = <org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = <org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.logger.Logger logger>;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.common.URL)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Lazy connect to \u0001");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.locks.Lock connectLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v == null goto label;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.locks.Lock connectLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeHandler requestHandler>;
v = staticinvoke <org.apache.dubbo.remoting.exchange.Exchangers: org.apache.dubbo.remoting.exchange.ExchangeClient connect(org.apache.dubbo.common.URL,org.apache.dubbo.remoting.exchange.ExchangeHandler)>(v, v);
v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client> = v;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.locks.Lock connectLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.locks.Lock connectLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public java.util.concurrent.CompletableFuture request(java.lang.Object) throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.Object v;
java.util.concurrent.CompletableFuture v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void warning()>();
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void initClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.util.concurrent.CompletableFuture request(java.lang.Object)>(v);
return v;
}
public org.apache.dubbo.common.URL getUrl()
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
return v;
}
public java.net.InetSocketAddress getRemoteAddress()
{
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
java.net.InetSocketAddress v, v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v, v;
int v;
java.lang.String v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v != null goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getHost()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = virtualinvoke v.<org.apache.dubbo.common.URL: int getPort()>();
v = staticinvoke <java.net.InetSocketAddress: java.net.InetSocketAddress createUnresolved(java.lang.String,int)>(v, v);
return v;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.net.InetSocketAddress getRemoteAddress()>();
return v;
}
public java.util.concurrent.CompletableFuture request(java.lang.Object, int) throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
int v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.Object v;
java.util.concurrent.CompletableFuture v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.Object;
v := @parameter: int;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void warning()>();
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void initClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.util.concurrent.CompletableFuture request(java.lang.Object,int)>(v, v);
return v;
}
public java.util.concurrent.CompletableFuture request(java.lang.Object, java.util.concurrent.ExecutorService) throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.Object v;
java.util.concurrent.CompletableFuture v;
java.util.concurrent.ExecutorService v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.Object;
v := @parameter: java.util.concurrent.ExecutorService;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void warning()>();
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void initClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.util.concurrent.CompletableFuture request(java.lang.Object,java.util.concurrent.ExecutorService)>(v, v);
return v;
}
public java.util.concurrent.CompletableFuture request(java.lang.Object, int, java.util.concurrent.ExecutorService) throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
int v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.Object v;
java.util.concurrent.CompletableFuture v;
java.util.concurrent.ExecutorService v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.Object;
v := @parameter: int;
v := @parameter: java.util.concurrent.ExecutorService;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void warning()>();
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void initClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.util.concurrent.CompletableFuture request(java.lang.Object,int,java.util.concurrent.ExecutorService)>(v, v, v);
return v;
}
private void warning()
{
org.apache.dubbo.common.logger.Logger v;
long v, v;
java.util.concurrent.atomic.AtomicLong v, v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v, v;
byte v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: boolean requestWithWarning>;
if v == 0 goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.atomic.AtomicLong warningcount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v % 5000L;
v = v cmp 0L;
if v != 0 goto label;
v = <org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.logger.Logger logger>;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getAddress()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getServiceKey()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u \u safe guard client , should not be called ,must have a bug.");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void warn(java.lang.String)>(v);
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: java.util.concurrent.atomic.AtomicLong warningcount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long incrementAndGet()>();
label:
return;
}
public org.apache.dubbo.remoting.ChannelHandler getChannelHandler()
{
org.apache.dubbo.remoting.ChannelHandler v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void checkClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: org.apache.dubbo.remoting.ChannelHandler getChannelHandler()>();
return v;
}
public boolean isConnected()
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
boolean v, v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v != null goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: boolean initialState>;
return v;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: boolean isConnected()>();
return v;
}
public java.net.InetSocketAddress getLocalAddress()
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
java.lang.String v;
java.net.InetSocketAddress v, v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v != null goto label;
v = staticinvoke <org.apache.dubbo.common.utils.NetUtils: java.lang.String getLocalHost()>();
v = staticinvoke <java.net.InetSocketAddress: java.net.InetSocketAddress createUnresolved(java.lang.String,int)>(v, 0);
return v;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.net.InetSocketAddress getLocalAddress()>();
return v;
}
public org.apache.dubbo.remoting.exchange.ExchangeHandler getExchangeHandler()
{
org.apache.dubbo.remoting.exchange.ExchangeHandler v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeHandler requestHandler>;
return v;
}
public void send(java.lang.Object) throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.remoting.exchange.ExchangeClient v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
java.lang.Object v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void initClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void send(java.lang.Object)>(v);
return;
}
public void send(java.lang.Object, boolean) throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.Object v;
boolean v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void initClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void send(java.lang.Object,boolean)>(v, v);
return;
}
public boolean isClosed()
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
boolean v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v == null goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: boolean isClosed()>();
return v;
label:
return 0;
}
public void close()
{
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v == null goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void close()>();
label:
return;
}
public void close(int)
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
int v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: int;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v == null goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void close(int)>(v);
label:
return;
}
public void startClose()
{
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v == null goto label;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void startClose()>();
label:
return;
}
public void reset(org.apache.dubbo.common.URL)
{
org.apache.dubbo.remoting.exchange.ExchangeClient v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: org.apache.dubbo.common.URL;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void checkClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void reset(org.apache.dubbo.common.URL)>(v);
return;
}
public void reset(org.apache.dubbo.common.Parameters)
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v, v;
java.util.Map v;
org.apache.dubbo.common.Parameters v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: org.apache.dubbo.common.Parameters;
v = virtualinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL getUrl()>();
v = virtualinvoke v.<org.apache.dubbo.common.Parameters: java.util.Map getParameters()>();
v = virtualinvoke v.<org.apache.dubbo.common.URL: org.apache.dubbo.common.URL addParameters(java.util.Map)>(v);
virtualinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void reset(org.apache.dubbo.common.URL)>(v);
return;
}
public void reconnect() throws org.apache.dubbo.remoting.RemotingException
{
org.apache.dubbo.remoting.exchange.ExchangeClient v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void checkClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void reconnect()>();
return;
}
public java.lang.Object getAttribute(java.lang.String)
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.String;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v != null goto label;
return null;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: java.lang.Object getAttribute(java.lang.String)>(v);
return v;
}
public void setAttribute(java.lang.String, java.lang.Object)
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void checkClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void setAttribute(java.lang.String,java.lang.Object)>(v, v);
return;
}
public void removeAttribute(java.lang.String)
{
org.apache.dubbo.remoting.exchange.ExchangeClient v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
java.lang.String v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: void checkClient()>();
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: void removeAttribute(java.lang.String)>(v);
return;
}
public boolean hasAttribute(java.lang.String)
{
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.remoting.exchange.ExchangeClient v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v := @parameter: java.lang.String;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v != null goto label;
return 0;
label:
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.exchange.ExchangeClient: boolean hasAttribute(java.lang.String)>(v);
return v;
}
private void checkClient()
{
java.lang.IllegalStateException v;
org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient v;
org.apache.dubbo.common.URL v;
org.apache.dubbo.remoting.exchange.ExchangeClient v;
java.lang.String v;
v := @this: org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.remoting.exchange.ExchangeClient client>;
if v != null goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.URL url>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.common.URL)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("LazyConnectExchangeClient state error. the client has not be init .url:\u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
static void <clinit>()
{
org.apache.dubbo.common.logger.Logger v;
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: org.apache.dubbo.common.logger.Logger getLogger(java.lang.Class)>(class "Lorg/apache/dubbo/rpc/protocol/dubbo/LazyConnectExchangeClient;");
<org.apache.dubbo.rpc.protocol.dubbo.LazyConnectExchangeClient: org.apache.dubbo.common.logger.Logger logger> = v;
return;
}
}