class org.apache.zookeeper.ClientCnxn$SendThread extends org.apache.zookeeper.server.ZooKeeperThread
{
private long lastPingSentNs;
private final org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket;
private boolean isFirstConnect;
private volatile org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient;
private java.net.InetSocketAddress rwServerAddress;
private static final int minPingRwTimeout;
private static final int maxPingRwTimeout;
private int pingRwTimeout;
private boolean saslLoginFailed;
final org.apache.zookeeper.ClientCnxn this$0;
private java.lang.String stripChroot(java.lang.String)
{
org.apache.zookeeper.ClientCnxn v, v, v, v;
org.apache.zookeeper.ClientCnxn$SendThread v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
org.slf4j.Logger v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: java.lang.String;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != v goto label;
return "/";
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/zookeeper/");
if v == 0 goto label;
return v;
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Got server path {} which is not descendant of chroot path {}.", v, v);
return v;
}
void readResponse(java.nio.ByteBuffer) throws java.io.IOException
{
byte[] v;
org.apache.zookeeper.ZooKeeper$States v;
byte v;
java.lang.Long v;
org.apache.zookeeper.server.ByteBufferInputStream v;
org.apache.jute.Record v, v;
java.lang.Throwable v, v;
org.apache.zookeeper.client.ZooKeeperSaslClient v;
long v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
java.io.IOException v, v;
org.apache.zookeeper.Watcher$Event$EventType v;
java.nio.ByteBuffer v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v;
org.apache.zookeeper.Watcher$Event$KeeperState v;
org.apache.zookeeper.proto.RequestHeader v, v;
java.util.Queue v, v, v;
org.apache.zookeeper.proto.ReplyHeader v, v, v, v, v;
org.apache.zookeeper.ClientCnxn v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.KeeperException$Code v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v;
org.apache.zookeeper.proto.GetSASLRequest v;
org.apache.zookeeper.WatchedEvent v, v;
org.apache.zookeeper.proto.WatcherEvent v;
org.apache.jute.BinaryInputArchive v;
java.lang.Object v;
org.apache.zookeeper.ClientCnxn$EventThread v, v, v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: java.nio.ByteBuffer;
v = new org.apache.zookeeper.server.ByteBufferInputStream;
specialinvoke v.<org.apache.zookeeper.server.ByteBufferInputStream: void <init>(java.nio.ByteBuffer)>(v);
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = new org.apache.zookeeper.proto.ReplyHeader;
specialinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void deserialize(org.apache.jute.InputArchive,java.lang.String)>(v, "header");
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getXid()>();
tableswitch(v)
{
case -4: goto label;
case -3: goto label;
case -2: goto label;
case -1: goto label;
default: goto label;
};
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: long lastPingSentNs>;
v = v - v;
v = v / 1000000L;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Got ping response for session id: 0x{} after {}ms.", v, v);
return;
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Got auth session id: 0x{}", v);
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getErr()>();
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code AUTHFAILED>;
v = virtualinvoke v.<org.apache.zookeeper.KeeperException$Code: int intValue()>();
if v != v goto label;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States AUTH_FAILED>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState AuthFailed>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEventOfDeath()>();
label:
return;
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Got notification session id: 0x{}", v);
v = new org.apache.zookeeper.proto.WatcherEvent;
specialinvoke v.<org.apache.zookeeper.proto.WatcherEvent: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.proto.WatcherEvent: void deserialize(org.apache.jute.InputArchive,java.lang.String)>(v, "response");
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.proto.WatcherEvent: java.lang.String getPath()>();
v = specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.lang.String stripChroot(java.lang.String)>(v);
virtualinvoke v.<org.apache.zookeeper.proto.WatcherEvent: void setPath(java.lang.String)>(v);
label:
v = new org.apache.zookeeper.WatchedEvent;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: long getZxid()>();
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.proto.WatcherEvent,long)>(v, v);
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Got {} for session id 0x{}", v, v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
return;
label:
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean tunnelAuthInProgress()>();
if v == 0 goto label;
v = new org.apache.zookeeper.proto.GetSASLRequest;
specialinvoke v.<org.apache.zookeeper.proto.GetSASLRequest: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.proto.GetSASLRequest: void deserialize(org.apache.jute.InputArchive,java.lang.String)>(v, "token");
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
v = virtualinvoke v.<org.apache.zookeeper.proto.GetSASLRequest: byte[] getToken()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: void respondToServer(byte[],org.apache.zookeeper.ClientCnxn)>(v, v);
return;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
v = interfaceinvoke v.<java.util.Queue: int size()>();
if v != 0 goto label;
v = new java.io.IOException;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getXid()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Nothing in the queue, but got \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object remove()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.zookeeper.proto.RequestHeader requestHeader>;
v = virtualinvoke v.<org.apache.zookeeper.proto.RequestHeader: int getXid()>();
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getXid()>();
if v == v goto label;
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.zookeeper.proto.ReplyHeader replyHeader>;
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code CONNECTIONLOSS>;
v = virtualinvoke v.<org.apache.zookeeper.KeeperException$Code: int intValue()>();
virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void setErr(int)>(v);
v = new java.io.IOException;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getXid()>();
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getErr()>();
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.zookeeper.proto.RequestHeader requestHeader>;
v = virtualinvoke v.<org.apache.zookeeper.proto.RequestHeader: int getXid()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int,org.apache.zookeeper.ClientCnxn$Packet)>(v, v, 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[])>("Xid out of order. Got Xid \u with err \u expected Xid \u for a packet with details: \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.zookeeper.proto.ReplyHeader replyHeader>;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getXid()>();
virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void setXid(int)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.zookeeper.proto.ReplyHeader replyHeader>;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getErr()>();
virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void setErr(int)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.zookeeper.proto.ReplyHeader replyHeader>;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: long getZxid()>();
virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void setZxid(long)>(v);
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: long getZxid()>();
v = v cmp 0L;
if v <= 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: long getZxid()>();
v.<org.apache.zookeeper.ClientCnxn: long lastZxid> = v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.jute.Record response>;
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.proto.ReplyHeader: int getErr()>();
if v != 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$Packet: org.apache.jute.Record response>;
interfaceinvoke v.<org.apache.jute.Record: void deserialize(org.apache.jute.InputArchive,java.lang.String)>(v, "response");
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Reading reply session id: 0x{}, packet:: {}", v, v);
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn: void finishPacket(org.apache.zookeeper.ClientCnxn$Packet)>(v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn: void finishPacket(org.apache.zookeeper.ClientCnxn$Packet)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void <init>(org.apache.zookeeper.ClientCnxn, org.apache.zookeeper.ClientCnxnSocket) throws java.io.IOException
{
org.apache.zookeeper.ClientCnxnSocket v;
org.apache.zookeeper.ClientCnxn$SendThread v;
org.apache.zookeeper.ZooKeeper$States v;
org.apache.zookeeper.ClientCnxn v;
java.lang.String v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: org.apache.zookeeper.ClientCnxn;
v := @parameter: org.apache.zookeeper.ClientCnxnSocket;
v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0> = v;
v = staticinvoke <org.apache.zookeeper.ClientCnxn: java.lang.String makeThreadName(java.lang.String)>("-SendThread()");
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperThread: void <init>(java.lang.String)>(v);
v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean isFirstConnect> = 1;
v.<org.apache.zookeeper.ClientCnxn$SendThread: java.net.InetSocketAddress rwServerAddress> = null;
v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout> = 100;
v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean saslLoginFailed> = 0;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CONNECTING>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket> = v;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void setDaemon(boolean)>(1);
return;
}
synchronized org.apache.zookeeper.ZooKeeper$States getZkState()
{
org.apache.zookeeper.ClientCnxn v;
org.apache.zookeeper.ClientCnxn$SendThread v;
org.apache.zookeeper.ZooKeeper$States v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
return v;
}
synchronized void changeZkState(org.apache.zookeeper.ZooKeeper$States) throws java.io.IOException
{
org.apache.zookeeper.ZooKeeper$States v, v, v;
org.apache.zookeeper.ClientCnxn v, v;
java.io.IOException v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: org.apache.zookeeper.ZooKeeper$States;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper$States: boolean isAlive()>();
if v != 0 goto label;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CONNECTING>;
if v != v goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Connection has already been closed and reconnection is not allowed");
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state> = v;
return;
}
org.apache.zookeeper.ClientCnxnSocket getClientCnxnSocket()
{
org.apache.zookeeper.ClientCnxnSocket v;
org.apache.zookeeper.ClientCnxn$SendThread v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
return v;
}
void primeConnection() throws java.io.IOException
{
byte[] v, v;
byte v;
org.apache.zookeeper.proto.ConnectRequest v;
org.apache.zookeeper.ClientCnxnSocket v, v, v, v;
java.util.concurrent.CopyOnWriteArraySet v;
long v, v, v;
java.util.ArrayList v, v, v, v, v;
org.apache.zookeeper.proto.SetWatches v;
java.lang.String v;
org.apache.zookeeper.client.ZKClientConfig v;
org.apache.zookeeper.proto.SetWatches v;
java.util.concurrent.LinkedBlockingDeque v, v, v;
java.net.SocketAddress v, v, v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.proto.RequestHeader v, v;
java.util.List v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.proto.ReplyHeader v;
org.apache.zookeeper.ClientCnxn v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.proto.AuthPacket v;
org.apache.zookeeper.ClientCnxn$Packet v, v, v;
int v, v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v, v, v, v, v;
org.apache.zookeeper.ZKWatchManager v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: java.net.SocketAddress getLocalSocketAddress()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: java.net.SocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Socket connection established, initiating session, client: {}, server: {}", v, v);
v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean isFirstConnect> = 0;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: boolean seenRwServerBefore>;
if v == 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
goto label;
label:
v = 0L;
label:
v = new org.apache.zookeeper.proto.ConnectRequest;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long lastZxid>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int sessionTimeout>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: byte[] sessionPasswd>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: boolean readOnly>;
specialinvoke v.<org.apache.zookeeper.proto.ConnectRequest: void <init>(int,long,int,long,byte[],boolean)>(0, v, v, v, v, v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.ZKClientConfig clientConfig>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZKClientConfig: boolean getBoolean(java.lang.String)>("zookeeper.disableAutoWatchReset");
if v != 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZKWatchManager watchManager>;
v = virtualinvoke v.<org.apache.zookeeper.ZKWatchManager: java.util.List getDataWatchList()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZKWatchManager watchManager>;
v = virtualinvoke v.<org.apache.zookeeper.ZKWatchManager: java.util.List getExistWatchList()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZKWatchManager watchManager>;
v = virtualinvoke v.<org.apache.zookeeper.ZKWatchManager: java.util.List getChildWatchList()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZKWatchManager watchManager>;
v = virtualinvoke v.<org.apache.zookeeper.ZKWatchManager: java.util.List getPersistentWatchList()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZKWatchManager watchManager>;
v = virtualinvoke v.<org.apache.zookeeper.ZKWatchManager: java.util.List getPersistentRecursiveWatchList()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
label:
v = specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.util.List prependChroot(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.util.List prependChroot(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.util.List prependChroot(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.util.List prependChroot(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.util.List prependChroot(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long lastZxid>;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = 0;
label:
if v >= 131072 goto label;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new org.apache.zookeeper.proto.SetWatches;
specialinvoke v.<org.apache.zookeeper.proto.SetWatches: void <init>(long,java.util.List,java.util.List,java.util.List)>(v, v, v, v);
v = v;
v = 101;
goto label;
label:
v = new org.apache.zookeeper.proto.SetWatches;
specialinvoke v.<org.apache.zookeeper.proto.SetWatches2: void <init>(long,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List)>(v, v, v, v, v, v);
v = v;
v = 105;
label:
v = new org.apache.zookeeper.proto.RequestHeader;
v = (int) -8;
specialinvoke v.<org.apache.zookeeper.proto.RequestHeader: void <init>(int,int)>(v, v);
v = new org.apache.zookeeper.ClientCnxn$Packet;
v = new org.apache.zookeeper.proto.ReplyHeader;
specialinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void <init>()>();
specialinvoke v.<org.apache.zookeeper.ClientCnxn$Packet: void <init>(org.apache.zookeeper.proto.RequestHeader,org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,org.apache.jute.Record,org.apache.zookeeper.ZooKeeper$WatchRegistration)>(v, v, v, null, null);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.LinkedBlockingDeque outgoingQueue>;
virtualinvoke v.<java.util.concurrent.LinkedBlockingDeque: void addFirst(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.CopyOnWriteArraySet authInfo>;
v = virtualinvoke v.<java.util.concurrent.CopyOnWriteArraySet: 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.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.LinkedBlockingDeque outgoingQueue>;
v = new org.apache.zookeeper.ClientCnxn$Packet;
v = new org.apache.zookeeper.proto.RequestHeader;
v = (int) -4;
specialinvoke v.<org.apache.zookeeper.proto.RequestHeader: void <init>(int,int)>(v, 100);
v = new org.apache.zookeeper.proto.AuthPacket;
v = v.<org.apache.zookeeper.ClientCnxn$AuthData: java.lang.String scheme>;
v = v.<org.apache.zookeeper.ClientCnxn$AuthData: byte[] data>;
specialinvoke v.<org.apache.zookeeper.proto.AuthPacket: void <init>(int,java.lang.String,byte[])>(0, v, v);
specialinvoke v.<org.apache.zookeeper.ClientCnxn$Packet: void <init>(org.apache.zookeeper.proto.RequestHeader,org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,org.apache.jute.Record,org.apache.zookeeper.ZooKeeper$WatchRegistration)>(v, null, v, null, null);
virtualinvoke v.<java.util.concurrent.LinkedBlockingDeque: void addFirst(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.LinkedBlockingDeque outgoingQueue>;
v = new org.apache.zookeeper.ClientCnxn$Packet;
specialinvoke v.<org.apache.zookeeper.ClientCnxn$Packet: void <init>(org.apache.zookeeper.proto.RequestHeader,org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,org.apache.jute.Record,org.apache.zookeeper.ZooKeeper$WatchRegistration)>(null, null, v, null, null);
virtualinvoke v.<java.util.concurrent.LinkedBlockingDeque: void addFirst(java.lang.Object)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void connectionPrimed()>();
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: java.net.SocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Session establishment request sent on {}", v);
return;
}
private java.util.List prependChroot(java.util.List)
{
org.apache.zookeeper.ClientCnxn v, v, v;
java.util.List v;
org.apache.zookeeper.ClientCnxn$SendThread v;
int v, v, v;
java.lang.Object v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: java.util.List;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 1 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.lang.String chrootPath>;
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[])>("\u0001\u0001");
label:
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
return v;
}
private void sendPing()
{
org.apache.zookeeper.proto.RequestHeader v;
org.apache.zookeeper.ClientCnxn$SendThread v;
int v;
org.apache.zookeeper.ClientCnxn v;
long v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = staticinvoke <java.lang.System: long nanoTime()>();
v.<org.apache.zookeeper.ClientCnxn$SendThread: long lastPingSentNs> = v;
v = new org.apache.zookeeper.proto.RequestHeader;
v = (int) -2;
specialinvoke v.<org.apache.zookeeper.proto.RequestHeader: void <init>(int,int)>(v, 11);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$Packet queuePacket(org.apache.zookeeper.proto.RequestHeader,org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,org.apache.jute.Record,org.apache.zookeeper.AsyncCallback,java.lang.String,java.lang.String,java.lang.Object,org.apache.zookeeper.ZooKeeper$WatchRegistration)>(v, null, null, null, null, null, null, null, null);
return;
}
private void startConnect(java.net.InetSocketAddress) throws java.io.IOException
{
javax.security.auth.login.LoginException v;
org.apache.zookeeper.ZooKeeper$States v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v, v;
org.apache.zookeeper.Watcher$Event$KeeperState v;
org.apache.zookeeper.ClientCnxnSocket v;
java.net.InetSocketAddress v;
org.apache.zookeeper.client.ZooKeeperSaslClient v, v, v;
org.apache.zookeeper.ClientCnxn v, v, v, v;
long v;
java.util.concurrent.ThreadLocalRandom v;
int v;
java.lang.String v, v, v, v, v, v;
org.apache.zookeeper.client.ZKClientConfig v, v, v;
org.slf4j.Logger v, v;
org.apache.zookeeper.WatchedEvent v;
java.lang.InterruptedException v;
org.apache.zookeeper.Watcher$Event$EventType v;
org.apache.zookeeper.ClientCnxn$EventThread v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: java.net.InetSocketAddress;
v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean saslLoginFailed> = 0;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean isFirstConnect>;
if v != 0 goto label;
label:
v = staticinvoke <java.util.concurrent.ThreadLocalRandom: java.util.concurrent.ThreadLocalRandom current()>();
v = virtualinvoke v.<java.util.concurrent.ThreadLocalRandom: long nextLong(long)>(1000L);
staticinvoke <java.lang.Thread: void sleep(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unexpected exception", v);
label:
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CONNECTING>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostString()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u0001:\u0001");
staticinvoke <org.slf4j.MDC: void put(java.lang.String,java.lang.String)>("myid", v);
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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)");
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\(.*\\)", v);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void setName(java.lang.String)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.ZKClientConfig clientConfig>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZKClientConfig: boolean isSaslClientEnabled()>();
if v == 0 goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
if v == null goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: void shutdown()>();
label:
v = new org.apache.zookeeper.client.ZooKeeperSaslClient;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.ZKClientConfig clientConfig>;
v = staticinvoke <org.apache.zookeeper.SaslServerPrincipal: java.lang.String getServerPrincipal(java.net.InetSocketAddress,org.apache.zookeeper.client.ZKClientConfig)>(v, v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.ZKClientConfig clientConfig>;
specialinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: void <init>(java.lang.String,org.apache.zookeeper.client.ZKClientConfig)>(v, v);
v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient> = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("SASL configuration failed. Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it.", v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState AuthFailed>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean saslLoginFailed> = 1;
label:
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void logStartConnect(java.net.InetSocketAddress)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void connect(java.net.InetSocketAddress)>(v);
return;
catch java.lang.InterruptedException from label to label with label;
catch javax.security.auth.login.LoginException from label to label with label;
}
private void logStartConnect(java.net.InetSocketAddress)
{
org.apache.zookeeper.client.ZooKeeperSaslClient v, v;
org.apache.zookeeper.ClientCnxn$SendThread v;
org.slf4j.Logger v, v;
java.lang.String v;
java.net.InetSocketAddress v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: java.net.InetSocketAddress;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Opening socket connection to server {}.", v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
if v == null goto label;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: java.lang.String getConfigStatus()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("SASL config status: {}", v);
label:
return;
}
public void run()
{
org.apache.zookeeper.ZooKeeper$States v, v, v, v, v, v, v, v, v, v;
javax.security.sasl.SaslException v;
java.lang.Integer v;
org.apache.zookeeper.ClientCnxn$SessionTimeoutException v;
org.apache.zookeeper.client.ZooKeeperSaslClient v, v, v, v, v, v;
java.lang.Object[] v, v;
long v, v, v, v, v, v, v, v, v;
short v;
org.apache.zookeeper.Watcher$Event$EventType v, v, v;
org.apache.zookeeper.Watcher$Event$KeeperState v, v, v, v, v;
java.util.Queue v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
org.apache.zookeeper.client.HostProvider v;
org.apache.zookeeper.ClientCnxnSocket v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Throwable v, v;
org.apache.zookeeper.client.ZooKeeperSaslClient$SaslState v, v;
java.lang.String v, v, v, v, v, v;
java.util.concurrent.LinkedBlockingDeque v, v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v, v, v, v, v, v, v, v, v;
java.net.InetSocketAddress v, v;
org.apache.zookeeper.ClientCnxn v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.zookeeper.WatchedEvent v, v, v;
org.apache.zookeeper.ClientCnxn$EventThread v, v, v, v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.LinkedBlockingDeque outgoingQueue>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void introduce(org.apache.zookeeper.ClientCnxn$SendThread,long,java.util.concurrent.LinkedBlockingDeque)>(v, v, v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateNow()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateLastSendAndHeard()>();
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = null;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper$States: boolean isAlive()>();
if v == 0 goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: boolean isConnected()>();
if v != 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: boolean closing>;
if v != 0 goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: java.net.InetSocketAddress rwServerAddress>;
if v == null goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: java.net.InetSocketAddress rwServerAddress>;
v.<org.apache.zookeeper.ClientCnxn$SendThread: java.net.InetSocketAddress rwServerAddress> = null;
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.HostProvider hostProvider>;
v = interfaceinvoke v.<org.apache.zookeeper.client.HostProvider: java.net.InetSocketAddress next(long)>(1000L);
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn: void onConnecting(java.net.InetSocketAddress)>(v);
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void startConnect(java.net.InetSocketAddress)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateNow()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateLastSendAndHeard()>();
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper$States: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
if v == null goto label;
v = 0;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: org.apache.zookeeper.client.ZooKeeperSaslClient$SaslState getSaslState()>();
v = <org.apache.zookeeper.client.ZooKeeperSaslClient$SaslState: org.apache.zookeeper.client.ZooKeeperSaslClient$SaslState INITIAL>;
if v != v goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: void initialize(org.apache.zookeeper.ClientCnxn)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("SASL authentication with Zookeeper Quorum member failed.", v);
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States AUTH_FAILED>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v = 1;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: org.apache.zookeeper.Watcher$Event$KeeperState getKeeperState()>();
if v == null goto label;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState AuthFailed>;
if v != v goto label;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States AUTH_FAILED>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v = 1;
goto label;
label:
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState SaslAuthenticated>;
if v != v goto label;
v = 1;
label:
if v == 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States AUTH_FAILED>;
if v != v goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEventOfDeath()>();
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int readTimeout>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: int getIdleRecv()>();
v = v - v;
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int connectTimeout>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: int getIdleRecv()>();
v = v - v;
label:
if v > 0 goto label;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: int getIdleRecv()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Client session timed out, have not heard from server in %dms for session id 0x%s", v);
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
v = new org.apache.zookeeper.ClientCnxn$SessionTimeoutException;
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SessionTimeoutException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper$States: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int readTimeout>;
v = v / 2;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: int getIdleSend()>();
v = v - v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: int getIdleSend()>();
if v <= 1000 goto label;
v = 1000;
goto label;
label:
v = 0;
label:
v = v - v;
if v <= 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: int getIdleSend()>();
if v <= 10000 goto label;
label:
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void sendPing()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateLastSend()>();
goto label;
label:
if v >= v goto label;
v = v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CONNECTEDREADONLY>;
if v != v goto label;
v = staticinvoke <org.apache.zookeeper.common.Time: long currentElapsedTime()>();
v = v - v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout>;
if v < v goto label;
v = v;
v = 0;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout>;
v = 2 * v;
v = (int) 60000;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout> = v;
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void pingRwServer()>();
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout>;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void doTransport(int,java.util.Queue,org.apache.zookeeper.ClientCnxn)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: boolean closing>;
if v == 0 goto label;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxn: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("An exception was thrown while closing send thread for session 0x{}.", v, v);
goto label;
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxn: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("Session 0x{} for server {}, Closing socket connection. Attempting reconnect except it is a SessionExpiredException.", v);
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void cleanAndNotifyState()>();
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.LinkedBlockingDeque outgoingQueue>;
entermonitor v;
label:
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void cleanup()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void close()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper$States: boolean isAlive()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState Disconnected>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState Closed>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
if v == null goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: void shutdown()>();
label:
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = staticinvoke <org.apache.zookeeper.server.ZooTrace: long getTextTraceLevel()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxn: long getSessionId()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("SendThread exited loop for session: 0x\u0001");
staticinvoke <org.apache.zookeeper.server.ZooTrace: void logTraceMessage(org.slf4j.Logger,long,java.lang.String)>(v, v, v);
return;
catch javax.security.sasl.SaslException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void cleanAndNotifyState()
{
org.apache.zookeeper.Watcher$Event$KeeperState v;
org.apache.zookeeper.ClientCnxnSocket v, v;
org.apache.zookeeper.ZooKeeper$States v;
org.apache.zookeeper.ClientCnxn v, v;
org.apache.zookeeper.WatchedEvent v;
org.apache.zookeeper.ClientCnxn$SendThread v;
org.apache.zookeeper.Watcher$Event$EventType v;
org.apache.zookeeper.ClientCnxn$EventThread v;
boolean v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void cleanup()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ZooKeeper$States state>;
v = virtualinvoke v.<org.apache.zookeeper.ZooKeeper$States: boolean isAlive()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState Disconnected>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateNow()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void updateLastSendAndHeard()>();
return;
}
private void pingRwServer() throws org.apache.zookeeper.ClientCnxn$RWServerFoundException
{
java.lang.Throwable v;
byte[] v;
java.net.Socket v, v;
org.apache.zookeeper.client.HostProvider v;
org.apache.zookeeper.ClientCnxn v;
java.lang.Integer v;
org.apache.zookeeper.ClientCnxn$SendThread v;
int v, v, v, v;
java.net.ConnectException v;
java.lang.String v, v, v, v, v, v;
boolean v;
java.io.OutputStream v, v;
org.slf4j.Logger v, v;
java.io.IOException v;
java.io.InputStreamReader v;
java.net.InetSocketAddress v;
org.apache.zookeeper.ClientCnxn$RWServerFoundException v;
java.io.BufferedReader v, v;
java.io.InputStream v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = null;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.HostProvider hostProvider>;
v = interfaceinvoke v.<org.apache.zookeeper.client.HostProvider: java.net.InetSocketAddress next(long)>(0L);
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Checking server {} for being r/w. Timeout {}", v, v);
label:
v = new java.net.Socket;
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostString()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
specialinvoke v.<java.net.Socket: void <init>(java.lang.String,int)>(v, v);
v = (int) -1;
virtualinvoke v.<java.net.Socket: void setSoLinger(boolean,int)>(0, v);
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(1000);
virtualinvoke v.<java.net.Socket: void setTcpNoDelay(boolean)>(1);
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
v = "isro";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
virtualinvoke v.<java.io.OutputStream: void flush()>();
virtualinvoke v.<java.net.Socket: void shutdownOutput()>();
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
label:
goto label;
label:
v := @caughtexception;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Exception while seeking for r/w server.", v);
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v = "rw";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.apache.zookeeper.ClientCnxn$SendThread: int pingRwTimeout> = 100;
v.<org.apache.zookeeper.ClientCnxn$SendThread: java.net.InetSocketAddress rwServerAddress> = v;
v = new org.apache.zookeeper.ClientCnxn$RWServerFoundException;
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostString()>();
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("Majority server found at \u0001:\u0001");
specialinvoke v.<org.apache.zookeeper.ClientCnxn$RWServerFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.net.ConnectException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void cleanup()
{
java.lang.Throwable v;
org.apache.zookeeper.ClientCnxn v, v, v, v, v, v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v, v;
org.apache.zookeeper.ClientCnxnSocket v;
java.util.Iterator v, v;
java.util.concurrent.LinkedBlockingDeque v;
java.lang.Object v, v;
java.util.Queue v, v, v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void cleanup()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
entermonitor v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
v = interfaceinvoke v.<java.util.Queue: 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.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
specialinvoke v.<org.apache.zookeeper.ClientCnxn: void conLossPacket(org.apache.zookeeper.ClientCnxn$Packet)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.Queue pendingQueue>;
interfaceinvoke v.<java.util.Queue: void clear()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: java.util.concurrent.LinkedBlockingDeque outgoingQueue>;
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingDeque: 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.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
specialinvoke v.<org.apache.zookeeper.ClientCnxn: void conLossPacket(org.apache.zookeeper.ClientCnxn$Packet)>(v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
return;
catch java.lang.Throwable from label to label with label;
}
void onConnected(int, long, byte[], boolean) throws java.io.IOException
{
byte[] v;
java.net.SocketAddress v;
org.apache.zookeeper.client.HostProvider v, v;
org.apache.zookeeper.ZooKeeper$States v, v;
java.lang.Integer v;
org.apache.zookeeper.ClientCnxn$SessionExpiredException v;
org.apache.zookeeper.ClientCnxn$SendThread v;
boolean v, v, v, v, v;
org.apache.zookeeper.Watcher$Event$KeeperState v, v;
org.apache.zookeeper.ClientCnxnSocket v;
java.lang.Object[] v, v;
org.apache.zookeeper.ClientCnxn v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
long v, v, v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
org.slf4j.Logger v, v, v;
org.apache.zookeeper.WatchedEvent v, v;
org.apache.zookeeper.Watcher$Event$EventType v, v;
org.apache.zookeeper.ClientCnxn$EventThread v, v, v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: int;
v := @parameter: long;
v := @parameter: byte[];
v := @parameter: boolean;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v.<org.apache.zookeeper.ClientCnxn: int negotiatedSessionTimeout> = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int negotiatedSessionTimeout>;
if v > 0 goto label;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CLOSED>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState Expired>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEventOfDeath()>();
v = newarray (java.lang.Object)[1];
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unable to reconnect to ZooKeeper service, session 0x%s has expired", v);
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
v = new org.apache.zookeeper.ClientCnxn$SessionExpiredException;
specialinvoke v.<org.apache.zookeeper.ClientCnxn$SessionExpiredException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: boolean readOnly>;
if v != 0 goto label;
if v == 0 goto label;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>("Read/write client got connected to read-only server");
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int negotiatedSessionTimeout>;
v = v * 2;
v = v / 3;
v.<org.apache.zookeeper.ClientCnxn: int readTimeout> = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int negotiatedSessionTimeout>;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.HostProvider hostProvider>;
v = interfaceinvoke v.<org.apache.zookeeper.client.HostProvider: int size()>();
v = v / v;
v.<org.apache.zookeeper.ClientCnxn: int connectTimeout> = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.HostProvider hostProvider>;
interfaceinvoke v.<org.apache.zookeeper.client.HostProvider: void onConnected()>();
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v.<org.apache.zookeeper.ClientCnxn: long sessionId> = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v.<org.apache.zookeeper.ClientCnxn: byte[] sessionPasswd> = v;
if v == 0 goto label;
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CONNECTEDREADONLY>;
goto label;
label:
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CONNECTED>;
label:
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: boolean seenRwServerBefore>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v | v;
v.<org.apache.zookeeper.ClientCnxn: boolean seenRwServerBefore> = v;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: java.net.SocketAddress getRemoteSocketAddress()>();
v[0] = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[1] = v;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: int negotiatedSessionTimeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
if v == 0 goto label;
v = " (READ-ONLY mode)";
goto label;
label:
v = "";
label:
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Session establishment complete on server {}, session id = 0x{}, negotiated timeout = {}{}", v);
if v == 0 goto label;
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState ConnectedReadOnly>;
goto label;
label:
v = <org.apache.zookeeper.Watcher$Event$KeeperState: org.apache.zookeeper.Watcher$Event$KeeperState SyncConnected>;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.ClientCnxn$EventThread eventThread>;
v = new org.apache.zookeeper.WatchedEvent;
v = <org.apache.zookeeper.Watcher$Event$EventType: org.apache.zookeeper.Watcher$Event$EventType None>;
specialinvoke v.<org.apache.zookeeper.WatchedEvent: void <init>(org.apache.zookeeper.Watcher$Event$EventType,org.apache.zookeeper.Watcher$Event$KeeperState,java.lang.String)>(v, v, null);
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$EventThread: void queueEvent(org.apache.zookeeper.WatchedEvent)>(v);
return;
}
void close()
{
org.apache.zookeeper.ClientCnxnSocket v;
org.apache.zookeeper.ClientCnxn$SendThread v;
org.slf4j.Logger v;
org.apache.zookeeper.ZooKeeper$States v, v;
java.io.IOException v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
label:
v = <org.apache.zookeeper.ZooKeeper$States: org.apache.zookeeper.ZooKeeper$States CLOSED>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: void changeZkState(org.apache.zookeeper.ZooKeeper$States)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.ClientCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ZooKeeper$States getZkState()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("Connection close fails when migrates state from {} to CLOSED", v);
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void onClosing()>();
return;
catch java.io.IOException from label to label with label;
}
void testableCloseSocket() throws java.io.IOException
{
org.apache.zookeeper.ClientCnxnSocket v;
org.apache.zookeeper.ClientCnxn$SendThread v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void testableCloseSocket()>();
return;
}
public boolean tunnelAuthInProgress()
{
org.apache.zookeeper.client.ZooKeeperSaslClient v, v;
org.apache.zookeeper.ClientCnxn v;
org.apache.zookeeper.ClientCnxn$SendThread v;
org.apache.zookeeper.client.ZKClientConfig v;
boolean v, v, v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxn this$0>;
v = v.<org.apache.zookeeper.ClientCnxn: org.apache.zookeeper.client.ZKClientConfig clientConfig>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZKClientConfig: boolean isSaslClientEnabled()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: boolean saslLoginFailed>;
if v == 0 goto label;
return 0;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
if v != null goto label;
return 1;
label:
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
v = virtualinvoke v.<org.apache.zookeeper.client.ZooKeeperSaslClient: boolean clientTunneledAuthenticationInProgress()>();
return v;
}
public void sendPacket(org.apache.zookeeper.ClientCnxn$Packet) throws java.io.IOException
{
org.apache.zookeeper.ClientCnxn$Packet v;
org.apache.zookeeper.ClientCnxnSocket v;
org.apache.zookeeper.ClientCnxn$SendThread v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v := @parameter: org.apache.zookeeper.ClientCnxn$Packet;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.ClientCnxnSocket clientCnxnSocket>;
virtualinvoke v.<org.apache.zookeeper.ClientCnxnSocket: void sendPacket(org.apache.zookeeper.ClientCnxn$Packet)>(v);
return;
}
public org.apache.zookeeper.client.ZooKeeperSaslClient getZooKeeperSaslClient()
{
org.apache.zookeeper.client.ZooKeeperSaslClient v;
org.apache.zookeeper.ClientCnxn$SendThread v;
v := @this: org.apache.zookeeper.ClientCnxn$SendThread;
v = v.<org.apache.zookeeper.ClientCnxn$SendThread: org.apache.zookeeper.client.ZooKeeperSaslClient zooKeeperSaslClient>;
return v;
}
}