public class org.apache.zookeeper.server.NettyServerCnxn extends org.apache.zookeeper.server.ServerCnxn
{
private static final org.slf4j.Logger LOG;
private final io.netty.channel.Channel channel;
private io.netty.buffer.CompositeByteBuf queuedBuffer;
private final java.util.concurrent.atomic.AtomicBoolean throttled;
private java.nio.ByteBuffer bb;
private final java.nio.ByteBuffer bbLen;
private long sessionId;
private int sessionTimeout;
private java.security.cert.Certificate[] clientChain;
private volatile boolean closingChannel;
private final org.apache.zookeeper.server.NettyServerCnxnFactory factory;
private boolean initialized;
public int readIssuedAfterReadComplete;
private volatile org.apache.zookeeper.server.NettyServerCnxn$HandshakeState handshakeState;
private final io.netty.util.concurrent.GenericFutureListener onSendBufferDoneListener;
void <init>(io.netty.channel.Channel, org.apache.zookeeper.server.ZooKeeperServer, org.apache.zookeeper.server.NettyServerCnxnFactory)
{
java.net.SocketAddress v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.zookeeper.server.NettyServerCnxn$HandshakeState v;
java.nio.ByteBuffer v;
java.net.InetAddress v;
org.apache.zookeeper.Login v, v;
org.apache.zookeeper.server.NettyServerCnxnFactory v, v;
java.lang.String v;
io.netty.util.concurrent.GenericFutureListener v;
io.netty.channel.Channel v;
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.ZooKeeperSaslServer v;
org.apache.zookeeper.data.Id v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: io.netty.channel.Channel;
v := @parameter: org.apache.zookeeper.server.ZooKeeperServer;
v := @parameter: org.apache.zookeeper.server.NettyServerCnxnFactory;
specialinvoke v.<org.apache.zookeeper.server.ServerCnxn: void <init>(org.apache.zookeeper.server.ZooKeeperServer)>(v);
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.zookeeper.server.NettyServerCnxn: java.util.concurrent.atomic.AtomicBoolean throttled> = v;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(4);
v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen> = v;
v = <org.apache.zookeeper.server.NettyServerCnxn$HandshakeState: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState NONE>;
v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState handshakeState> = v;
v = staticinvoke <org.apache.zookeeper.server.NettyServerCnxn$lambda_new_0__87: io.netty.util.concurrent.GenericFutureListener bootstrap$(org.apache.zookeeper.server.NettyServerCnxn)>(v);
v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.util.concurrent.GenericFutureListener onSendBufferDoneListener> = v;
v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel> = v;
v.<org.apache.zookeeper.server.NettyServerCnxn: boolean closingChannel> = 0;
v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory> = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.Login login>;
if v == null goto label;
v = new org.apache.zookeeper.server.ZooKeeperSaslServer;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.Login login>;
specialinvoke v.<org.apache.zookeeper.server.ZooKeeperSaslServer: void <init>(org.apache.zookeeper.Login)>(v);
v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperSaslServer zooKeeperSaslServer> = v;
label:
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = new org.apache.zookeeper.data.Id;
v = virtualinvoke v.<java.net.InetAddress: java.lang.String getHostAddress()>();
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("ip", v);
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void addAuthInfo(org.apache.zookeeper.data.Id)>(v);
return;
}
public void close(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)
{
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: org.apache.zookeeper.server.ServerCnxn$DisconnectReason;
v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ServerCnxn$DisconnectReason disconnectReason> = v;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void close()>();
return;
}
public void close()
{
java.net.SocketAddress v;
org.apache.zookeeper.metrics.Counter v;
org.apache.zookeeper.server.NettyServerCnxn$1 v;
java.lang.Integer v;
java.lang.Runnable v;
java.net.InetAddress v;
org.apache.zookeeper.server.NettyServerCnxnFactory v, v, v, v, v;
boolean v, v, v;
java.util.Set v, v;
io.netty.channel.EventLoop v;
long v, v;
io.netty.buffer.ByteBuf v;
org.apache.zookeeper.server.ServerMetrics v;
int v;
java.lang.String v, v;
org.slf4j.Logger v, v, v;
io.netty.channel.ChannelFuture v;
io.netty.channel.Channel v, v, v, v, v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v.<org.apache.zookeeper.server.NettyServerCnxn: boolean closingChannel> = 1;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: 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)>("close called for session id: 0x{}", v);
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void setStale()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void unregisterConnection(org.apache.zookeeper.server.ServerCnxn)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
v = interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
v = interfaceinvoke v.<java.util.Set: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("cnxns size:{}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isOpen()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
label:
return;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: 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)>("close in progress for session id: 0x{}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void removeCnxnFromSessionMap(org.apache.zookeeper.server.ServerCnxn)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void removeCnxnFromIpMap(org.apache.zookeeper.server.NettyServerCnxn,java.net.InetAddress)>(v, v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void removeCnxn(org.apache.zookeeper.server.ServerCnxn)>(v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isOpen()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
v = new org.apache.zookeeper.server.NettyServerCnxn$1;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn$1: void <init>(org.apache.zookeeper.server.NettyServerCnxn)>(v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Counter CONNECTION_DROP_COUNT>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Counter: void add(long)>(1L);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = staticinvoke <org.apache.zookeeper.server.NettyServerCnxn$releaseQueuedBuffer__88: java.lang.Runnable bootstrap$(org.apache.zookeeper.server.NettyServerCnxn)>(v);
interfaceinvoke v.<io.netty.channel.EventLoop: void execute(java.lang.Runnable)>(v);
label:
return;
}
public long getSessionId()
{
long v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
return v;
}
public int getSessionTimeout()
{
int v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: int sessionTimeout>;
return v;
}
public void process(org.apache.zookeeper.WatchedEvent)
{
org.apache.zookeeper.metrics.Counter v;
long v, v;
org.apache.zookeeper.server.ServerMetrics v;
int v, v;
java.lang.String v, v;
boolean v;
org.slf4j.Logger v, v, v;
java.io.IOException v;
org.apache.zookeeper.WatchedEvent v;
java.net.InetSocketAddress v;
org.apache.zookeeper.proto.WatcherEvent v;
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.proto.ReplyHeader v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: org.apache.zookeeper.WatchedEvent;
v = new org.apache.zookeeper.proto.ReplyHeader;
v = virtualinvoke v.<org.apache.zookeeper.WatchedEvent: long getZxid()>();
v = (int) -1;
specialinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void <init>(int,long,int)>(v, v, 0);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.zookeeper.WatchedEvent,java.lang.String,org.apache.zookeeper.server.NettyServerCnxn)>(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[])>("Deliver event \u to 0x\u through \u0001");
staticinvoke <org.apache.zookeeper.server.ZooTrace: void logTraceMessage(org.slf4j.Logger,long,java.lang.String)>(v, 64L, v);
label:
v = virtualinvoke v.<org.apache.zookeeper.WatchedEvent: org.apache.zookeeper.proto.WatcherEvent getWrapper()>();
label:
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: int sendResponse(org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,java.lang.String)>(v, v, "notification");
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Counter WATCH_BYTES>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Counter: void add(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: java.net.InetSocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Problem sending to {}", v, v);
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void close()>();
label:
return;
catch java.io.IOException from label to label with label;
}
public int sendResponse(org.apache.zookeeper.proto.ReplyHeader, org.apache.jute.Record, java.lang.String, java.lang.String, org.apache.zookeeper.data.Stat, int) throws java.io.IOException
{
java.nio.ByteBuffer[] v;
org.apache.jute.Record v;
org.apache.zookeeper.data.Stat v;
java.nio.ByteBuffer v, v;
io.netty.channel.Channel v;
org.apache.zookeeper.server.NettyServerCnxn v;
int v, v;
java.lang.String v, v;
org.apache.zookeeper.proto.ReplyHeader v;
boolean v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: org.apache.zookeeper.proto.ReplyHeader;
v := @parameter: org.apache.jute.Record;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.zookeeper.data.Stat;
v := @parameter: int;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: boolean closingChannel>;
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isOpen()>();
if v != 0 goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer[] serialize(org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,java.lang.String,java.lang.String,org.apache.zookeeper.data.Stat,int)>(v, v, v, v, v, v);
v = v[0];
v = virtualinvoke v.<java.nio.ByteBuffer: int getInt()>();
v = v[0];
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer rewind()>();
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void sendBuffer(java.nio.ByteBuffer[])>(v);
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void decrOutstandingAndCheckThrottle(org.apache.zookeeper.proto.ReplyHeader)>(v);
return v;
}
public void setSessionId(long)
{
long v;
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: long;
v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId> = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void addSession(long,org.apache.zookeeper.server.ServerCnxn)>(v, v);
return;
}
public transient void sendBuffer(java.nio.ByteBuffer[])
{
java.nio.ByteBuffer[] v;
io.netty.util.concurrent.GenericFutureListener v;
java.nio.ByteBuffer v, v;
io.netty.channel.ChannelFuture v;
io.netty.channel.Channel v;
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v;
org.apache.zookeeper.server.NettyServerCnxn v;
io.netty.buffer.ByteBuf v;
int v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: java.nio.ByteBuffer[];
v = lengthof v;
if v != 1 goto label;
v = v[0];
v = <org.apache.zookeeper.server.ServerCnxnFactory: java.nio.ByteBuffer closeConn>;
if v != v goto label;
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason CLIENT_CLOSED_CONNECTION>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void close(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
return;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(java.nio.ByteBuffer[])>(v);
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.util.concurrent.GenericFutureListener onSendBufferDoneListener>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
private boolean checkFourLetterWord(io.netty.channel.Channel, io.netty.buffer.ByteBuf, int)
{
org.apache.zookeeper.server.command.SetTraceMaskCommand v;
java.net.SocketAddress v;
long v;
java.nio.ByteBuffer v;
io.netty.buffer.ByteBuf v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v, v;
java.lang.String v, v;
boolean v, v, v;
java.io.PrintWriter v;
org.apache.zookeeper.server.command.NopCommand v;
org.slf4j.Logger v, v;
java.io.BufferedWriter v;
io.netty.channel.Channel v;
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.NettyServerCnxn v;
io.netty.channel.ChannelConfig v;
org.apache.zookeeper.server.NettyServerCnxn$SendBufferWriter v;
org.apache.zookeeper.server.command.CommandExecutor v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: io.netty.channel.Channel;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v = staticinvoke <org.apache.zookeeper.server.command.FourLetterCommands: boolean isKnown(int)>(v);
if v != 0 goto label;
return 0;
label:
v = staticinvoke <org.apache.zookeeper.server.command.FourLetterCommands: java.lang.String getCommandString(int)>(v);
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelConfig config()>();
interfaceinvoke v.<io.netty.channel.ChannelConfig: io.netty.channel.ChannelConfig setAutoRead(boolean)>(0);
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void packetReceived(long)>(4L);
v = new java.io.PrintWriter;
v = new java.io.BufferedWriter;
v = new org.apache.zookeeper.server.NettyServerCnxn$SendBufferWriter;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn$SendBufferWriter: void <init>(org.apache.zookeeper.server.NettyServerCnxn)>(v);
specialinvoke v.<java.io.BufferedWriter: void <init>(java.io.Writer)>(v);
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.Writer)>(v);
v = staticinvoke <org.apache.zookeeper.server.command.FourLetterCommands: boolean isEnabled(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Command {} is not executed because it is not in the whitelist.", v);
v = new org.apache.zookeeper.server.command.NopCommand;
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 is not executed because it is not in the whitelist.");
specialinvoke v.<org.apache.zookeeper.server.command.NopCommand: void <init>(java.io.PrintWriter,org.apache.zookeeper.server.ServerCnxn,java.lang.String)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.command.NopCommand: void start()>();
return 1;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Processing {} command from {}", v, v);
v = <org.apache.zookeeper.server.command.FourLetterCommands: int setTraceMaskCmd>;
if v != v goto label;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(8);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(java.nio.ByteBuffer)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = virtualinvoke v.<java.nio.ByteBuffer: long getLong()>();
staticinvoke <org.apache.zookeeper.server.ZooTrace: void setTextTraceLevel(long)>(v);
v = new org.apache.zookeeper.server.command.SetTraceMaskCommand;
specialinvoke v.<org.apache.zookeeper.server.command.SetTraceMaskCommand: void <init>(java.io.PrintWriter,org.apache.zookeeper.server.ServerCnxn,long)>(v, v, v);
virtualinvoke v.<org.apache.zookeeper.server.command.SetTraceMaskCommand: void start()>();
return 1;
label:
v = new org.apache.zookeeper.server.command.CommandExecutor;
specialinvoke v.<org.apache.zookeeper.server.command.CommandExecutor: void <init>()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
v = virtualinvoke v.<org.apache.zookeeper.server.command.CommandExecutor: boolean execute(org.apache.zookeeper.server.ServerCnxn,java.io.PrintWriter,int,org.apache.zookeeper.server.ZooKeeperServer,org.apache.zookeeper.server.ServerCnxnFactory)>(v, v, v, v, v);
return v;
}
private void checkIsInEventLoop(java.lang.String)
{
io.netty.channel.Channel v;
java.lang.IllegalStateException v;
org.apache.zookeeper.server.NettyServerCnxn v;
java.lang.String v, v;
io.netty.channel.EventLoop v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: java.lang.String;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: boolean inEventLoop()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
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[])>("\u0001() called from non-EventLoop thread");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void appendToQueuedBuffer(io.netty.buffer.ByteBuf)
{
org.apache.zookeeper.metrics.Summary v;
io.netty.buffer.CompositeByteBuf v, v, v, v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
io.netty.buffer.ByteBuf v;
org.apache.zookeeper.server.ServerMetrics v;
int v, v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: io.netty.buffer.ByteBuf;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void checkIsInEventLoop(java.lang.String)>("appendToQueuedBuffer");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = virtualinvoke v.<io.netty.buffer.CompositeByteBuf: int numComponents()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = virtualinvoke v.<io.netty.buffer.CompositeByteBuf: int maxNumComponents()>();
if v != v goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
virtualinvoke v.<io.netty.buffer.CompositeByteBuf: io.netty.buffer.CompositeByteBuf consolidate()>();
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
virtualinvoke v.<io.netty.buffer.CompositeByteBuf: io.netty.buffer.CompositeByteBuf addComponent(boolean,io.netty.buffer.ByteBuf)>(1, v);
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Summary NETTY_QUEUED_BUFFER>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = virtualinvoke v.<io.netty.buffer.CompositeByteBuf: int capacity()>();
interfaceinvoke v.<org.apache.zookeeper.metrics.Summary: void add(long)>(v);
return;
}
void processMessage(io.netty.buffer.ByteBuf)
{
io.netty.buffer.ByteBufAllocator v, v;
boolean v, v, v, v, v, v, v;
io.netty.buffer.CompositeByteBuf v, v, v, v, v, v, v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v;
io.netty.buffer.ByteBuf v, v, v, v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v, v;
io.netty.channel.Channel v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: io.netty.buffer.ByteBuf;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void checkIsInEventLoop(java.lang.String)>("processMessage");
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} queuedBuffer: {}", v, v);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} buf {}", v, v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.util.concurrent.atomic.AtomicBoolean throttled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Received message while throttled");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
if v != null goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("allocating queue");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.buffer.ByteBufAllocator alloc()>();
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.CompositeByteBuf compositeBuffer()>();
v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer> = v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retainedDuplicate()>();
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void appendToQueuedBuffer(io.netty.buffer.ByteBuf)>(v);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} queuedBuffer {}", v, v);
goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("not throttled");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
if v == null goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retainedDuplicate()>();
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void appendToQueuedBuffer(io.netty.buffer.ByteBuf)>(v);
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void processQueuedBuffer()>();
goto label;
label:
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void receiveMessage(io.netty.buffer.ByteBuf)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: boolean closingChannel>;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Before copy {}", v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
if v != null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.buffer.ByteBufAllocator alloc()>();
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.CompositeByteBuf compositeBuffer()>();
v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer> = v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retainedSlice(int,int)>(v, v);
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void appendToQueuedBuffer(io.netty.buffer.ByteBuf)>(v);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Copy is {}", v);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} queuedBuffer {}", v, v);
label:
return;
}
void processQueuedBuffer()
{
long v;
java.lang.String v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
io.netty.buffer.CompositeByteBuf v, v, v, v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void checkIsInEventLoop(java.lang.String)>("processQueuedBuffer");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
if v == null goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("processing queue 0x{} queuedBuffer {}", v, v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void receiveMessage(io.netty.buffer.ByteBuf)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: boolean closingChannel>;
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Processed queue - channel closed, dropping remaining bytes");
goto label;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = virtualinvoke v.<io.netty.buffer.CompositeByteBuf: boolean isReadable()>();
if v != 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Processed queue - no bytes remaining");
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void releaseQueuedBuffer()>();
goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Processed queue - bytes remaining");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
virtualinvoke v.<io.netty.buffer.CompositeByteBuf: io.netty.buffer.CompositeByteBuf discardReadComponents()>();
goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("queue empty");
label:
return;
}
public void releaseQueuedBuffer()
{
io.netty.buffer.CompositeByteBuf v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void checkIsInEventLoop(java.lang.String)>("releaseQueuedBuffer");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
virtualinvoke v.<io.netty.buffer.CompositeByteBuf: boolean release()>();
v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer> = null;
label:
return;
}
private void receiveMessage(io.netty.buffer.ByteBuf)
{
org.apache.zookeeper.metrics.Counter v;
java.lang.Integer v, v, v, v, v, v, v;
org.apache.zookeeper.server.ByteBufferInputStream v;
java.lang.Object[] v, v;
long v, v, v, v, v;
java.io.IOException v, v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v;
org.apache.zookeeper.server.ClientCnxnLimitException v;
org.apache.zookeeper.proto.RequestHeader v;
java.util.concurrent.atomic.AtomicBoolean v;
int 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.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.server.RequestRecord v;
org.apache.zookeeper.proto.ConnectRequest v;
org.apache.zookeeper.server.ServerMetrics v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
io.netty.channel.Channel v;
java.nio.ByteBuffer 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, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v;
java.net.InetSocketAddress v, v, v, v;
org.apache.zookeeper.compat.ProtocolManager v;
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v, v, v;
io.netty.buffer.ByteBuf v, v, v, v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: io.netty.buffer.ByteBuf;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void checkIsInEventLoop(java.lang.String)>("receiveMessage");
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.util.concurrent.atomic.AtomicBoolean throttled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
if v == null goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("message readable {} bb len {} {}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer duplicate()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(java.nio.ByteBuffer)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} bb {}", v, v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v <= v goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v + v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer limit(int)>(v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(java.nio.ByteBuffer)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int capacity()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer limit(int)>(v);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("after readBytes message readable {} bb len {} {}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer duplicate()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(java.nio.ByteBuffer)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("after readbytes 0x{} bb {}", v, v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer flip()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = 4 + v;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void packetReceived(long)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: boolean isRunning()>();
if v != 0 goto label;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("ZK down");
throw v;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: boolean initialized>;
if v == 0 goto label;
v = new org.apache.zookeeper.proto.RequestHeader;
specialinvoke v.<org.apache.zookeeper.proto.RequestHeader: void <init>()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
staticinvoke <org.apache.zookeeper.server.ByteBufferInputStream: void byteBuffer2Record(java.nio.ByteBuffer,org.apache.jute.Record)>(v, v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer slice()>();
v = staticinvoke <org.apache.zookeeper.server.RequestRecord: org.apache.zookeeper.server.RequestRecord fromBytes(java.nio.ByteBuffer)>(v);
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void processPacket(org.apache.zookeeper.server.ServerCnxn,org.apache.zookeeper.proto.RequestHeader,org.apache.zookeeper.server.RequestRecord)>(v, v, v);
goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: java.net.InetSocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("got conn req request from {}", v);
v = new org.apache.zookeeper.server.ByteBufferInputStream;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb>;
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 = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.compat.ProtocolManager protocolManager>;
v = virtualinvoke v.<org.apache.zookeeper.compat.ProtocolManager: org.apache.zookeeper.proto.ConnectRequest deserializeConnectRequest(org.apache.jute.InputArchive)>(v);
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void processConnectRequest(org.apache.zookeeper.server.ServerCnxn,org.apache.zookeeper.proto.ConnectRequest)>(v, v);
v.<org.apache.zookeeper.server.NettyServerCnxn: boolean initialized> = 1;
label:
v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb> = null;
goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("message readable {} bblenrem {}", v, v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer duplicate()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(java.nio.ByteBuffer)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} bbLen {}", v, v);
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
if v >= v goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v + v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer limit(int)>(v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readBytes(java.nio.ByteBuffer)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: int capacity()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer limit(int)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer flip()>();
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf wrappedBuffer(java.nio.ByteBuffer)>(v);
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} bbLen {}", v, v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
v = virtualinvoke v.<java.nio.ByteBuffer: int getInt()>();
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: long sessionId>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("0x{} bbLen len is {}", v, v);
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bbLen>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.Buffer clear()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxn: boolean initialized>;
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: boolean checkFourLetterWord(io.netty.channel.Channel,io.netty.buffer.ByteBuf,int)>(v, v, v);
if v == 0 goto label;
label:
return;
label:
if v < 0 goto label;
v = <org.apache.jute.BinaryInputArchive: int maxBuffer>;
if v <= v goto label;
label:
v = new java.io.IOException;
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[])>("Len error \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: boolean isRunning()>();
if v != 0 goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: java.net.InetSocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Closing connection to {} because the server is not ready", v);
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason IO_EXCEPTION>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void close(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
label:
return;
label:
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: boolean checkRequestSizeWhenReceivingMessage(int)>(v);
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
v.<org.apache.zookeeper.server.NettyServerCnxn: java.nio.ByteBuffer bb> = v;
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: java.net.InetSocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Closing connection to {}", v, v);
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason IO_EXCEPTION>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void close(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.server.ServerMetrics getMetrics()>();
v = v.<org.apache.zookeeper.server.ServerMetrics: org.apache.zookeeper.metrics.Counter CONNECTION_REJECTED>;
interfaceinvoke v.<org.apache.zookeeper.metrics.Counter: void add(long)>(1L);
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: java.net.InetSocketAddress getRemoteSocketAddress()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Closing connection to {}", v, v);
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason CLIENT_RATE_LIMIT>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void close(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
label:
return;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.apache.zookeeper.server.ClientCnxnLimitException from label to label with label;
catch org.apache.zookeeper.server.ClientCnxnLimitException from label to label with label;
catch org.apache.zookeeper.server.ClientCnxnLimitException from label to label with label;
}
public void disableRecv(boolean)
{
org.slf4j.Logger v;
org.apache.zookeeper.server.NettyServerCnxn$ReadEvent v;
java.util.concurrent.atomic.AtomicBoolean v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.Channel v;
org.apache.zookeeper.server.NettyServerCnxn v;
boolean v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: boolean;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.util.concurrent.atomic.AtomicBoolean throttled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Throttling - disabling recv {}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPipeline pipeline()>();
v = <org.apache.zookeeper.server.NettyServerCnxn$ReadEvent: org.apache.zookeeper.server.NettyServerCnxn$ReadEvent DISABLE>;
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireUserEventTriggered(java.lang.Object)>(v);
label:
return;
}
public void enableRecv()
{
io.netty.channel.Channel v;
org.apache.zookeeper.server.NettyServerCnxn v;
org.slf4j.Logger v;
org.apache.zookeeper.server.NettyServerCnxn$ReadEvent v;
java.util.concurrent.atomic.AtomicBoolean v;
io.netty.channel.ChannelPipeline v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.util.concurrent.atomic.AtomicBoolean throttled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(1, 0);
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Sending unthrottle event {}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPipeline pipeline()>();
v = <org.apache.zookeeper.server.NettyServerCnxn$ReadEvent: org.apache.zookeeper.server.NettyServerCnxn$ReadEvent ENABLE>;
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireUserEventTriggered(java.lang.Object)>(v);
label:
return;
}
public void setSessionTimeout(int)
{
int v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: int;
v.<org.apache.zookeeper.server.NettyServerCnxn: int sessionTimeout> = v;
return;
}
public int getInterestOps()
{
java.util.concurrent.atomic.AtomicBoolean v;
io.netty.channel.Channel v, v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
byte v;
boolean v, v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isOpen()>();
if v != 0 goto label;
label:
return 0;
label:
v = 0;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.util.concurrent.atomic.AtomicBoolean throttled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 1;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isWritable()>();
if v != 0 goto label;
v = v | 4;
label:
return v;
}
public java.net.InetSocketAddress getRemoteSocketAddress()
{
io.netty.channel.Channel v;
org.apache.zookeeper.server.NettyServerCnxn v;
java.net.SocketAddress v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
return v;
}
public void sendCloseSession()
{
java.nio.ByteBuffer[] v;
org.apache.zookeeper.server.NettyServerCnxn v;
java.nio.ByteBuffer v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = newarray (java.nio.ByteBuffer)[1];
v = <org.apache.zookeeper.server.ServerCnxnFactory: java.nio.ByteBuffer closeConn>;
v[0] = v;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void sendBuffer(java.nio.ByteBuffer[])>(v);
return;
}
protected org.apache.zookeeper.server.ServerStats serverStats()
{
org.apache.zookeeper.server.ZooKeeperServer v, v;
org.apache.zookeeper.server.ServerStats v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
if v != null goto label;
return null;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
v = virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: org.apache.zookeeper.server.ServerStats serverStats()>();
return v;
}
public boolean isSecure()
{
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxnFactory factory>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean secure>;
return v;
}
public java.security.cert.Certificate[] getClientCertificateChain()
{
java.lang.Object[] v;
org.apache.zookeeper.server.NettyServerCnxn v;
int v;
java.security.cert.Certificate[] v, v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.security.cert.Certificate[] clientChain>;
if v != null goto label;
return null;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.security.cert.Certificate[] clientChain>;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: java.security.cert.Certificate[] clientChain>;
v = lengthof v;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
return v;
}
public void setClientCertificateChain(java.security.cert.Certificate[])
{
java.lang.Object[] v;
org.apache.zookeeper.server.NettyServerCnxn v;
int v;
java.security.cert.Certificate[] v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: java.security.cert.Certificate[];
if v != null goto label;
v.<org.apache.zookeeper.server.NettyServerCnxn: java.security.cert.Certificate[] clientChain> = null;
goto label;
label:
v = lengthof v;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
v.<org.apache.zookeeper.server.NettyServerCnxn: java.security.cert.Certificate[] clientChain> = v;
label:
return;
}
io.netty.channel.Channel getChannel()
{
io.netty.channel.Channel v;
org.apache.zookeeper.server.NettyServerCnxn v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel channel>;
return v;
}
public int getQueuedReadableBytes()
{
io.netty.buffer.CompositeByteBuf v, v;
org.apache.zookeeper.server.NettyServerCnxn v;
int v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void checkIsInEventLoop(java.lang.String)>("getQueuedReadableBytes");
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.buffer.CompositeByteBuf queuedBuffer>;
v = virtualinvoke v.<io.netty.buffer.CompositeByteBuf: int readableBytes()>();
return v;
label:
return 0;
}
public void setHandshakeState(org.apache.zookeeper.server.NettyServerCnxn$HandshakeState)
{
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.NettyServerCnxn$HandshakeState v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState;
v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState handshakeState> = v;
return;
}
public org.apache.zookeeper.server.NettyServerCnxn$HandshakeState getHandshakeState()
{
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.NettyServerCnxn$HandshakeState v;
v := @this: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState handshakeState>;
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/NettyServerCnxn;");
<org.apache.zookeeper.server.NettyServerCnxn: org.slf4j.Logger LOG> = v;
return;
}
}