public class org.apache.zookeeper.server.NettyServerCnxnFactory extends org.apache.zookeeper.server.ServerCnxnFactory
{
private static final org.slf4j.Logger LOG;
public static final java.lang.String PORT_UNIFICATION_KEY;
public static final java.lang.String EARLY_DROP_SECURE_CONNECTION_HANDSHAKES;
private final boolean shouldUsePortUnification;
private static final byte TLS_HANDSHAKE_RECORD_TYPE;
private final java.util.concurrent.atomic.AtomicInteger outstandingHandshake;
public static final java.lang.String OUTSTANDING_HANDSHAKE_LIMIT;
private int outstandingHandshakeLimit;
private boolean handshakeThrottlingEnabled;
private final io.netty.bootstrap.ServerBootstrap bootstrap;
private io.netty.channel.Channel parentChannel;
private final io.netty.channel.group.ChannelGroup allChannels;
private final java.util.Map ipMap;
private java.net.InetSocketAddress localAddress;
private int maxClientCnxns;
int listenBacklog;
private final org.apache.zookeeper.common.ClientX509Util x509Util;
public static final java.lang.String NETTY_ADVANCED_FLOW_CONTROL;
private boolean advancedFlowControlEnabled;
private static final io.netty.util.AttributeKey CONNECTION_ATTRIBUTE;
private static final java.util.concurrent.atomic.AtomicReference TEST_ALLOCATOR;
public static final java.lang.String CLIENT_CERT_RELOAD_KEY;
org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler channelHandler;
org.apache.zookeeper.server.NettyServerCnxnFactory$ReadIssuedTrackingHandler readIssuedTrackingHandler;
private boolean killed;
public void setOutstandingHandshakeLimit(int)
{
java.lang.Object[] v;
org.slf4j.Logger v;
java.lang.Integer v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v, v, v;
java.lang.Boolean v;
boolean v, v, v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: int;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int outstandingHandshakeLimit> = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean secure>;
if v != 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean shouldUsePortUnification>;
if v == 0 goto label;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int outstandingHandshakeLimit>;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean handshakeThrottlingEnabled> = v;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean handshakeThrottlingEnabled>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[0] = v;
v[1] = "zookeeper.netty.server.outstandingHandshake.limit";
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int outstandingHandshakeLimit>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("handshakeThrottlingEnabled = {}, {} = {}", v);
return;
}
private void updateHandshakeCountIfStarted(org.apache.zookeeper.server.NettyServerCnxn)
{
org.apache.zookeeper.server.NettyServerCnxn v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v;
org.apache.zookeeper.server.NettyServerCnxn$HandshakeState v, v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.NettyServerCnxn;
if v == null goto label;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState getHandshakeState()>();
v = <org.apache.zookeeper.server.NettyServerCnxn$HandshakeState: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState STARTED>;
if v != v goto label;
v = <org.apache.zookeeper.server.NettyServerCnxn$HandshakeState: org.apache.zookeeper.server.NettyServerCnxn$HandshakeState FINISHED>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: void setHandshakeState(org.apache.zookeeper.server.NettyServerCnxn$HandshakeState)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicInteger outstandingHandshake>;
v = (int) -1;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int addAndGet(int)>(v);
label:
return;
}
private io.netty.bootstrap.ServerBootstrap configureBootstrapAllocator(io.netty.bootstrap.ServerBootstrap)
{
io.netty.channel.ChannelOption v, v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
io.netty.bootstrap.AbstractBootstrap v;
io.netty.bootstrap.ServerBootstrap v, v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: io.netty.bootstrap.ServerBootstrap;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicReference TEST_ALLOCATOR>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption ALLOCATOR>;
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.AbstractBootstrap option(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption ALLOCATOR>;
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrap childOption(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
return v;
label:
return v;
}
void <init>()
{
io.netty.channel.group.DefaultChannelGroup v;
java.lang.Integer v, v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
io.netty.bootstrap.AbstractBootstrap v, v;
org.apache.zookeeper.common.ClientX509Util v, v;
org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler v;
boolean v, v, v, v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.zookeeper.server.NettyServerCnxnFactory$ReadIssuedTrackingHandler v;
io.netty.channel.ChannelOption v, v, v;
int v, v, v, v, v;
java.lang.Boolean v, v, v, v, v;
io.netty.channel.EventLoopGroup v, v;
org.slf4j.Logger v, v, v, v, v;
java.io.IOException v;
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException v;
io.netty.util.concurrent.DefaultEventExecutor v;
org.apache.zookeeper.server.NettyServerCnxnFactory$1 v;
io.netty.bootstrap.ServerBootstrap v, v, v, v, v, v, v;
java.lang.Class v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
specialinvoke v.<org.apache.zookeeper.server.ServerCnxnFactory: void <init>()>();
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicInteger outstandingHandshake> = v;
v = new io.netty.channel.group.DefaultChannelGroup;
v = new io.netty.util.concurrent.DefaultEventExecutor;
specialinvoke v.<io.netty.util.concurrent.DefaultEventExecutor: void <init>()>();
specialinvoke v.<io.netty.channel.group.DefaultChannelGroup: void <init>(java.lang.String,io.netty.util.concurrent.EventExecutor)>("zkServerCnxns", v);
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.group.ChannelGroup allChannels> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Map ipMap> = v;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int maxClientCnxns> = 60;
v = (int) -1;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int listenBacklog> = v;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean advancedFlowControlEnabled> = 0;
v = new org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler: void <init>(org.apache.zookeeper.server.NettyServerCnxnFactory)>(v);
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.server.NettyServerCnxnFactory$CnxnChannelHandler channelHandler> = v;
v = new org.apache.zookeeper.server.NettyServerCnxnFactory$ReadIssuedTrackingHandler;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory$ReadIssuedTrackingHandler: void <init>()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.server.NettyServerCnxnFactory$ReadIssuedTrackingHandler readIssuedTrackingHandler> = v;
v = new org.apache.zookeeper.common.ClientX509Util;
specialinvoke v.<org.apache.zookeeper.common.ClientX509Util: void <init>()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("zookeeper.client.certReload");
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{}={}", "zookeeper.client.certReload", v);
if v == 0 goto label;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util>;
virtualinvoke v.<org.apache.zookeeper.common.ClientX509Util: void enableCertFileReloading()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("unable to set up client certificate reload filewatcher", v);
label:
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("zookeeper.client.portUnification");
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{}={}", "zookeeper.client.portUnification", v);
if v == 0 goto label;
label:
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void configureSSLAuth()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("unable to set up SslAuthProvider, turning off client port unification", v);
v = 0;
label:
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean shouldUsePortUnification> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("zookeeper.netty.advancedFlowControl.enabled");
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean advancedFlowControlEnabled> = v;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean advancedFlowControlEnabled>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} = {}", "zookeeper.netty.advancedFlowControl.enabled", v);
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer getInteger(java.lang.String,int)>("zookeeper.netty.server.outstandingHandshake.limit", v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void setOutstandingHandshakeLimit(int)>(v);
v = staticinvoke <org.apache.zookeeper.common.NettyUtils: int getClientReachableLocalInetAddressCount()>();
v = staticinvoke <org.apache.zookeeper.common.NettyUtils: io.netty.channel.EventLoopGroup newNioOrEpollEventLoopGroup(int)>(v);
v = staticinvoke <org.apache.zookeeper.common.NettyUtils: io.netty.channel.EventLoopGroup newNioOrEpollEventLoopGroup()>();
v = new io.netty.bootstrap.ServerBootstrap;
specialinvoke v.<io.netty.bootstrap.ServerBootstrap: void <init>()>();
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrap group(io.netty.channel.EventLoopGroup,io.netty.channel.EventLoopGroup)>(v, v);
v = staticinvoke <org.apache.zookeeper.common.NettyUtils: java.lang.Class nioOrEpollServerSocketChannel()>();
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.AbstractBootstrap channel(java.lang.Class)>(v);
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption SO_REUSEADDR>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.AbstractBootstrap option(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption TCP_NODELAY>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrap childOption(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption SO_LINGER>;
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrap childOption(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
v = new org.apache.zookeeper.server.NettyServerCnxnFactory$1;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory$1: void <init>(org.apache.zookeeper.server.NettyServerCnxnFactory)>(v);
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrap childHandler(io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap configureBootstrapAllocator(io.netty.bootstrap.ServerBootstrap)>(v);
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap> = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap>;
virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrap validate()>();
return;
catch java.io.IOException from label to label with label;
catch org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException from label to label with label;
}
private synchronized void initSSL(io.netty.channel.ChannelPipeline, boolean) throws org.apache.zookeeper.common.X509Exception, javax.net.ssl.SSLException
{
javax.net.ssl.X509KeyManager v;
io.netty.buffer.ByteBufAllocator v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
java.lang.String v, v, v, v, v;
org.apache.zookeeper.common.ClientX509Util v, v, v, v;
boolean v;
org.apache.zookeeper.server.auth.AuthenticationProvider v;
org.slf4j.Logger v, v, v;
io.netty.handler.ssl.SslContext v;
io.netty.channel.ChannelPipeline v;
org.apache.zookeeper.common.ZKConfig v, v;
io.netty.channel.Channel v, v, v;
org.apache.zookeeper.server.NettyServerCnxnFactory$DualModeSslHandler v;
io.netty.handler.ssl.SslHandler v;
org.apache.zookeeper.common.X509Exception$SSLContextException v;
javax.net.ssl.X509TrustManager v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: io.netty.channel.ChannelPipeline;
v := @parameter: boolean;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util>;
v = virtualinvoke v.<org.apache.zookeeper.common.ClientX509Util: java.lang.String getSslAuthProviderProperty()>();
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>(v);
if v != null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util>;
v = new org.apache.zookeeper.common.ZKConfig;
specialinvoke v.<org.apache.zookeeper.common.ZKConfig: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.common.ClientX509Util: io.netty.handler.ssl.SslContext createNettySslContextForServer(org.apache.zookeeper.common.ZKConfig)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util>;
v = virtualinvoke v.<org.apache.zookeeper.common.ClientX509Util: java.lang.String getSslAuthProviderProperty()>();
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>(v, "x509");
v = staticinvoke <org.apache.zookeeper.server.auth.ProviderRegistry: org.apache.zookeeper.server.auth.AuthenticationProvider getProvider(java.lang.String)>(v);
if v != null goto label;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Auth provider not found: {}", v);
v = new org.apache.zookeeper.common.X509Exception$SSLContextException;
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[])>("Could not create SSLContext with specified auth provider: \u0001");
specialinvoke v.<org.apache.zookeeper.common.X509Exception$SSLContextException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util>;
v = new org.apache.zookeeper.common.ZKConfig;
specialinvoke v.<org.apache.zookeeper.common.ZKConfig: void <init>()>();
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: javax.net.ssl.X509KeyManager getKeyManager()>();
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: javax.net.ssl.X509TrustManager getTrustManager()>();
v = virtualinvoke v.<org.apache.zookeeper.common.ClientX509Util: io.netty.handler.ssl.SslContext createNettySslContextForServer(org.apache.zookeeper.common.ZKConfig,javax.net.ssl.KeyManager,javax.net.ssl.TrustManager)>(v, v, v);
label:
if v == 0 goto label;
v = new org.apache.zookeeper.server.NettyServerCnxnFactory$DualModeSslHandler;
specialinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory$DualModeSslHandler: void <init>(org.apache.zookeeper.server.NettyServerCnxnFactory,io.netty.handler.ssl.SslContext)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addLast(java.lang.String,io.netty.channel.ChannelHandler)>("ssl", v);
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.Channel channel()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("dual mode SSL handler added for channel: {}", v);
goto label;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.buffer.ByteBufAllocator alloc()>();
v = virtualinvoke v.<io.netty.handler.ssl.SslContext: io.netty.handler.ssl.SslHandler newHandler(io.netty.buffer.ByteBufAllocator)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addLast(java.lang.String,io.netty.channel.ChannelHandler)>("ssl", v);
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.Channel channel()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("SSL handler added for channel: {}", v);
label:
return;
}
public void closeAll(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)
{
io.netty.channel.group.ChannelGroup v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.Set v, v;
java.lang.Integer v, v;
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.ServerCnxn$DisconnectReason;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("closeAll()");
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
v = interfaceinvoke v.<java.util.Set: int size()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.group.ChannelGroup allChannels>;
v = interfaceinvoke v.<io.netty.channel.group.ChannelGroup: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("allChannels size: {} cnxns size: {}", v, v);
return;
}
public void configure(java.net.InetSocketAddress, int, int, boolean) throws java.io.IOException
{
java.lang.Object[] v;
org.slf4j.Logger v;
java.net.InetSocketAddress v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v, v;
java.lang.Boolean v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void configureSaslLogin()>();
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void initMaxCnxns()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress> = v;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int maxClientCnxns> = v;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean secure> = v;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int listenBacklog> = v;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("configure {} secure: {} on addr {}", v);
return;
}
public int getMaxClientCnxnsPerHost()
{
int v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int maxClientCnxns>;
return v;
}
public void setMaxClientCnxnsPerHost(int)
{
int v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: int;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int maxClientCnxns> = v;
return;
}
public int getSocketListenBacklog()
{
int v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int listenBacklog>;
return v;
}
public int getLocalPort()
{
int v;
java.net.InetSocketAddress v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
return v;
}
public void join() throws java.lang.InterruptedException
{
java.lang.Throwable v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean killed>;
if v != 0 goto label;
virtualinvoke v.<java.lang.Object: void wait()>();
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void shutdown()
{
java.lang.Throwable v, v;
org.apache.zookeeper.Login v, v;
org.apache.zookeeper.server.ServerCnxn$DisconnectReason v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
org.apache.zookeeper.common.ClientX509Util v;
boolean v;
io.netty.channel.EventLoopGroup v, v;
io.netty.channel.group.ChannelGroup v;
org.slf4j.Logger v, v;
io.netty.util.concurrent.GenericFutureListener v, v;
java.net.InetSocketAddress v, v;
io.netty.channel.ChannelFuture v;
io.netty.channel.Channel v, v;
org.apache.zookeeper.server.ZooKeeperServer v, v;
io.netty.bootstrap.ServerBootstrap v, v;
io.netty.channel.group.ChannelGroupFuture v;
io.netty.bootstrap.ServerBootstrapConfig v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean killed>;
if v == 0 goto label;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("already shutdown {}", v);
exitmonitor v;
label:
return;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("shutdown called {}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.common.ClientX509Util x509Util>;
virtualinvoke v.<org.apache.zookeeper.common.ClientX509Util: void close()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.Login login>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.Login login>;
virtualinvoke v.<org.apache.zookeeper.Login: void shutdown()>();
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap>;
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrapConfig config()>();
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrapConfig: io.netty.channel.EventLoopGroup group()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap>;
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.ServerBootstrapConfig config()>();
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrapConfig: io.netty.channel.EventLoopGroup childGroup()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
if v == null goto label;
v = staticinvoke <org.apache.zookeeper.server.NettyServerCnxnFactory$lambda_shutdown_0__93: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.netty.channel.EventLoopGroup)>(v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
v = <org.apache.zookeeper.server.ServerCnxn$DisconnectReason: org.apache.zookeeper.server.ServerCnxn$DisconnectReason SERVER_SHUTDOWN>;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void closeAll(org.apache.zookeeper.server.ServerCnxn$DisconnectReason)>(v);
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.group.ChannelGroup allChannels>;
v = interfaceinvoke v.<io.netty.channel.group.ChannelGroup: io.netty.channel.group.ChannelGroupFuture close()>();
if v == null goto label;
v = staticinvoke <org.apache.zookeeper.server.NettyServerCnxnFactory$lambda_shutdown_1__92: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.netty.channel.EventLoopGroup)>(v);
interfaceinvoke v.<io.netty.channel.group.ChannelGroupFuture: io.netty.channel.group.ChannelGroupFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
if v == null goto label;
interfaceinvoke v.<io.netty.channel.EventLoopGroup: io.netty.util.concurrent.Future shutdownGracefully()>();
label:
if v == null goto label;
interfaceinvoke v.<io.netty.channel.EventLoopGroup: io.netty.util.concurrent.Future shutdownGracefully()>();
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: org.apache.zookeeper.server.ZooKeeperServer zkServer>;
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void shutdown()>();
label:
entermonitor v;
label:
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean killed> = 1;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor 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;
catch java.lang.Throwable from label to label with label;
}
public void start()
{
io.netty.channel.ChannelOption v;
java.net.SocketAddress v;
java.lang.Integer v, v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v, v, v, v;
org.slf4j.Logger v, v;
java.net.InetSocketAddress v, v;
io.netty.channel.ChannelFuture v, v;
io.netty.channel.Channel v, v;
io.netty.bootstrap.ServerBootstrap v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int listenBacklog>;
v = (int) -1;
if v == v goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap>;
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption SO_BACKLOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int listenBacklog>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.bootstrap.AbstractBootstrap option(io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
label:
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("binding to port {}", v);
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture syncUninterruptibly()>();
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.Channel channel()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel> = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel>;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress localAddress()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress> = v;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int getLocalPort()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("bound to port {}", v);
return;
}
public void reconfigure(java.net.InetSocketAddress)
{
java.lang.Throwable v;
java.net.SocketAddress v;
java.lang.Integer v;
java.net.InetAddress v, v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
int v, v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v, v;
java.net.InetSocketAddress v, v, v, v, v, v;
java.lang.Exception v;
io.netty.channel.ChannelFuture v, v;
io.netty.channel.Channel v, v, v;
io.netty.bootstrap.ServerBootstrap v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: java.net.InetSocketAddress;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("binding to port {}, {}", v, v);
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
if v == null goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
v = virtualinvoke v.<java.net.InetSocketAddress: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.InetAddress: boolean isAnyLocalAddress()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = virtualinvoke v.<java.net.InetAddress: boolean isAnyLocalAddress()>();
if v == 0 goto label;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
v = virtualinvoke v.<java.net.InetSocketAddress: int getPort()>();
if v != v goto label;
label:
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("address is the same, skip rebinding");
return;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel>;
label:
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.bootstrap.ServerBootstrap bootstrap>;
v = virtualinvoke v.<io.netty.bootstrap.ServerBootstrap: io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture syncUninterruptibly()>();
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.Channel channel()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel> = v;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel>;
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress localAddress()>();
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress> = v;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: int getLocalPort()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("bound to port {}", v);
label:
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error while reconfiguring", v);
label:
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
throw v;
label:
return;
catch java.lang.Exception 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;
}
public void startup(org.apache.zookeeper.server.ZooKeeperServer, boolean) throws java.io.IOException, java.lang.InterruptedException
{
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.ZooKeeperServer;
v := @parameter: boolean;
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void start()>();
virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxnFactory: void setZooKeeperServer(org.apache.zookeeper.server.ZooKeeperServer)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void startdata()>();
virtualinvoke v.<org.apache.zookeeper.server.ZooKeeperServer: void startup()>();
label:
return;
}
public java.lang.Iterable getConnections()
{
java.util.Set v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
return v;
}
public java.net.InetSocketAddress getLocalAddress()
{
java.net.InetSocketAddress v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.net.InetSocketAddress localAddress>;
return v;
}
private void addCnxn(org.apache.zookeeper.server.NettyServerCnxn)
{
java.net.SocketAddress v;
java.util.function.BiFunction v;
java.util.Set v;
io.netty.channel.Channel v;
java.net.InetAddress v;
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
java.util.Map v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.NettyServerCnxn;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.NettyServerCnxn: io.netty.channel.Channel getChannel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: java.net.SocketAddress remoteAddress()>();
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Map ipMap>;
v = staticinvoke <org.apache.zookeeper.server.NettyServerCnxnFactory$lambda_addCnxn_2__94: java.util.function.BiFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object compute(java.lang.Object,java.util.function.BiFunction)>(v, v);
return;
}
void removeCnxnFromIpMap(org.apache.zookeeper.server.NettyServerCnxn, java.net.InetAddress)
{
java.net.InetAddress v;
org.apache.zookeeper.server.NettyServerCnxn v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
java.util.Map v;
java.util.function.BiFunction v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.NettyServerCnxn;
v := @parameter: java.net.InetAddress;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Map ipMap>;
v = staticinvoke <org.apache.zookeeper.server.NettyServerCnxnFactory$lambda_removeCnxnFromIpMap_3__95: java.util.function.BiFunction bootstrap$(java.net.InetAddress,org.apache.zookeeper.server.NettyServerCnxn)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object compute(java.lang.Object,java.util.function.BiFunction)>(v, v);
return;
}
private int getClientCnxnCount(java.net.InetAddress)
{
java.net.InetAddress v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
java.util.Map v;
int v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: java.net.InetAddress;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Map ipMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
label:
return v;
}
public void resetAllConnectionStats()
{
java.util.Iterator v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
java.util.Set v;
java.lang.Object v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
v = interfaceinvoke v.<java.util.Set: 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()>();
virtualinvoke v.<org.apache.zookeeper.server.ServerCnxn: void resetStats()>();
goto label;
label:
return;
}
public java.lang.Iterable getAllConnectionInfo(boolean)
{
java.util.Iterator v;
java.util.Set v;
java.util.HashSet v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
java.util.Map v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: boolean;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.Set cnxns>;
v = interfaceinvoke v.<java.util.Set: 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 = virtualinvoke v.<org.apache.zookeeper.server.ServerCnxn: java.util.Map getConnectionInfo(boolean)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
static void setTestAllocator(io.netty.buffer.ByteBufAllocator)
{
java.util.concurrent.atomic.AtomicReference v;
io.netty.buffer.ByteBufAllocator v;
v := @parameter: io.netty.buffer.ByteBufAllocator;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicReference TEST_ALLOCATOR>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
return;
}
static void clearTestAllocator()
{
java.util.concurrent.atomic.AtomicReference v;
v = <org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicReference TEST_ALLOCATOR>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(null);
return;
}
public void setAdvancedFlowControlEnabled(boolean)
{
org.apache.zookeeper.server.NettyServerCnxnFactory v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean advancedFlowControlEnabled> = v;
return;
}
public void setSecure(boolean)
{
org.apache.zookeeper.server.NettyServerCnxnFactory v;
boolean v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v := @parameter: boolean;
v.<org.apache.zookeeper.server.NettyServerCnxnFactory: boolean secure> = v;
return;
}
public io.netty.channel.Channel getParentChannel()
{
io.netty.channel.Channel v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.channel.Channel parentChannel>;
return v;
}
public int getOutstandingHandshakeNum()
{
int v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.zookeeper.server.NettyServerCnxnFactory v;
v := @this: org.apache.zookeeper.server.NettyServerCnxnFactory;
v = v.<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicInteger outstandingHandshake>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
return v;
}
static void <clinit>()
{
io.netty.util.AttributeKey v;
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicReference v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/NettyServerCnxnFactory;");
<org.apache.zookeeper.server.NettyServerCnxnFactory: org.slf4j.Logger LOG> = v;
v = staticinvoke <io.netty.util.AttributeKey: io.netty.util.AttributeKey valueOf(java.lang.String)>("NettyServerCnxn");
<org.apache.zookeeper.server.NettyServerCnxnFactory: io.netty.util.AttributeKey CONNECTION_ATTRIBUTE> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(null);
<org.apache.zookeeper.server.NettyServerCnxnFactory: java.util.concurrent.atomic.AtomicReference TEST_ALLOCATOR> = v;
return;
}
}