public class org.apache.kafkaesqueesqueesque.common.network.Selector extends java.lang.Object implements org.apache.kafkaesqueesqueesque.common.network.Selectable, java.lang.AutoCloseable
{
public static final long NO_IDLE_TIMEOUT_MS;
public static final int NO_FAILED_AUTHENTICATION_DELAY;
private final org.slf4j.Logger log;
private final java.nio.channels.Selector nioSelector;
private final java.util.Map channels;
private final java.util.Set explicitlyMutedChannels;
private boolean outOfMemory;
private final java.util.List completedSends;
private final java.util.LinkedHashMap completedReceives;
private final java.util.Set immediatelyConnectedKeys;
private final java.util.Map closingChannels;
private java.util.Set keysWithBufferedRead;
private final java.util.Map disconnected;
private final java.util.List connected;
private final java.util.List failedSends;
private final org.apache.kafkaesqueesqueesque.common.utils.Time time;
private final org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors;
private final org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder channelBuilder;
private final int maxReceiveSize;
private final boolean recordTimePerConnection;
private final org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager;
private final java.util.LinkedHashMap delayedClosingChannels;
private final org.apache.kafkaesqueesqueesque.common.memory.MemoryPool memoryPool;
private final long lowMemThreshold;
private final int failedAuthenticationDelayMs;
private boolean madeReadProgressLastPoll;
public void <init>(int, long, int, org.apache.kafkaesqueesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesqueesque.common.utils.Time, java.lang.String, java.util.Map, boolean, boolean, org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder, org.apache.kafkaesqueesqueesque.common.memory.MemoryPool, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
byte v;
java.util.Map v;
boolean v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v;
org.apache.kafkaesqueesqueesque.common.KafkaException v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
java.nio.channels.Selector v;
java.util.HashMap v, v, v;
long v, v;
java.util.ArrayList v, v, v;
java.util.HashSet v, v, v;
java.util.LinkedHashMap v, v, v;
org.apache.kafkaesqueesqueesque.common.memory.MemoryPool v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager v, v;
int v, v;
java.lang.String v;
double v;
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.io.IOException v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder;
v := @parameter: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll> = 1;
label:
v = staticinvoke <java.nio.channels.Selector: java.nio.channels.Selector open()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesqueesque.common.KafkaException;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.KafkaException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: int maxReceiveSize> = v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels> = v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean outOfMemory> = 0;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List completedSends> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap completedReceives> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List connected> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map disconnected> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List failedSends> = v;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.LogContext: org.slf4j.Logger logger(java.lang.Class)>(class "Lorg/apache/kafkaesqueesqueesque/common/network/Selector;");
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log> = v;
v = new org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: void <init>(org.apache.kafkaesqueesqueesque.common.network.Selector,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,java.lang.String,java.util.Map,boolean)>(v, v, v, v, v);
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors> = v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder channelBuilder> = v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean recordTimePerConnection> = v;
v = v cmp 0L;
if v >= 0 goto label;
v = null;
goto label;
label:
v = new org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager;
v = v;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: void <init>(org.apache.kafkaesqueesqueesque.common.utils.Time,long)>(v, v);
label:
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager> = v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool memoryPool> = v;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool memoryPool>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.memory.MemoryPool: long size()>();
v = 0.1 * v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: long lowMemThreshold> = v;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: int failedAuthenticationDelayMs> = v;
if v <= 0 goto label;
v = new java.util.LinkedHashMap;
v = v;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
goto label;
label:
v = null;
label:
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels> = v;
return;
catch java.io.IOException from label to label with label;
}
public void <init>(int, long, org.apache.kafkaesqueesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesqueesque.common.utils.Time, java.lang.String, java.util.Map, boolean, boolean, org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder, org.apache.kafkaesqueesqueesque.common.memory.MemoryPool, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
org.apache.kafkaesqueesqueesque.common.memory.MemoryPool v;
java.util.Map v;
int v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
boolean v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: int;
v := @parameter: long;
v := @parameter: org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder;
v := @parameter: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void <init>(int,long,int,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String,java.util.Map,boolean,boolean,org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder,org.apache.kafkaesqueesqueesque.common.memory.MemoryPool,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, 0, v, v, v, v, v, v, v, v, v);
return;
}
public void <init>(int, long, int, org.apache.kafkaesqueesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesqueesque.common.utils.Time, java.lang.String, java.util.Map, boolean, org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
org.apache.kafkaesqueesqueesque.common.memory.MemoryPool v;
java.util.Map v;
int v, v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: int;
v := @parameter: long;
v := @parameter: int;
v := @parameter: org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v = <org.apache.kafkaesqueesqueesque.common.memory.MemoryPool: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool NONE>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void <init>(int,long,int,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String,java.util.Map,boolean,boolean,org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder,org.apache.kafkaesqueesqueesque.common.memory.MemoryPool,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, v, v, v, v, v, v, 0, v, v, v);
return;
}
public void <init>(int, long, org.apache.kafkaesqueesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesqueesque.common.utils.Time, java.lang.String, java.util.Map, boolean, org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
java.util.Map v;
int v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: int;
v := @parameter: long;
v := @parameter: org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void <init>(int,long,int,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String,java.util.Map,boolean,org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, 0, v, v, v, v, v, v, v);
return;
}
public void <init>(long, org.apache.kafkaesqueesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesqueesque.common.utils.Time, java.lang.String, org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
java.util.Map v;
int v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: long;
v := @parameter: org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
v := @parameter: java.lang.String;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
v = (int) -1;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void <init>(int,long,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String,java.util.Map,boolean,org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, v, v, v, v, 1, v, v);
return;
}
public void <init>(long, int, org.apache.kafkaesqueesqueesque.common.metrics.Metrics, org.apache.kafkaesqueesqueesque.common.utils.Time, java.lang.String, org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder, org.apache.kafkaesqueesqueesque.common.utils.LogContext)
{
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
org.apache.kafkaesqueesqueesque.common.metrics.Metrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
org.apache.kafkaesqueesqueesque.common.utils.LogContext v;
java.util.Map v;
int v, v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: long;
v := @parameter: int;
v := @parameter: org.apache.kafkaesqueesqueesque.common.metrics.Metrics;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.Time;
v := @parameter: java.lang.String;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder;
v := @parameter: org.apache.kafkaesqueesqueesque.common.utils.LogContext;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
v = (int) -1;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void <init>(int,long,int,org.apache.kafkaesqueesqueesque.common.metrics.Metrics,org.apache.kafkaesqueesqueesque.common.utils.Time,java.lang.String,java.util.Map,boolean,org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder,org.apache.kafkaesqueesqueesque.common.utils.LogContext)>(v, v, v, v, v, v, v, 1, v, v);
return;
}
public void connect(java.lang.String, java.net.InetSocketAddress, int, int) throws java.io.IOException
{
org.slf4j.Logger v;
java.nio.channels.SelectionKey v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v, v;
java.net.InetSocketAddress v;
java.lang.Exception v;
java.nio.channels.SocketChannel v;
java.util.Map v;
int v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void ensureNotRegistered(java.lang.String)>(v);
v = staticinvoke <java.nio.channels.SocketChannel: java.nio.channels.SocketChannel open()>();
v = null;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void configureSocketChannel(java.nio.channels.SocketChannel,int,int)>(v, v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean doConnect(java.nio.channels.SocketChannel,java.net.InetSocketAddress)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.SelectionKey registerChannel(java.lang.String,java.nio.channels.SocketChannel,int)>(v, v, 8);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Immediately connected to node {}", v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
virtualinvoke v.<java.nio.channels.SelectionKey: java.nio.channels.SelectionKey interestOps(int)>(0);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
virtualinvoke v.<java.nio.channels.SocketChannel: void close()>();
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
}
protected boolean doConnect(java.nio.channels.SocketChannel, java.net.InetSocketAddress) throws java.io.IOException
{
java.nio.channels.SocketChannel v;
java.nio.channels.UnresolvedAddressException v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.io.IOException v;
java.lang.String v;
java.net.InetSocketAddress v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.nio.channels.SocketChannel;
v := @parameter: java.net.InetSocketAddress;
label:
v = virtualinvoke v.<java.nio.channels.SocketChannel: boolean connect(java.net.SocketAddress)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.InetSocketAddress)>(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[])>("Can\'t resolve address: \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.nio.channels.UnresolvedAddressException from label to label with label;
}
private void configureSocketChannel(java.nio.channels.SocketChannel, int, int) throws java.io.IOException
{
java.net.Socket v;
java.nio.channels.SocketChannel v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
int v, v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.nio.channels.SocketChannel;
v := @parameter: int;
v := @parameter: int;
virtualinvoke v.<java.nio.channels.SocketChannel: java.nio.channels.SelectableChannel configureBlocking(boolean)>(0);
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
virtualinvoke v.<java.net.Socket: void setKeepAlive(boolean)>(1);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.net.Socket: void setSendBufferSize(int)>(v);
label:
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.net.Socket: void setReceiveBufferSize(int)>(v);
label:
virtualinvoke v.<java.net.Socket: void setTcpNoDelay(boolean)>(1);
return;
}
public void register(java.lang.String, java.nio.channels.SocketChannel) throws java.io.IOException
{
org.apache.kafkaesqueesqueesque.common.network.ClientInformation v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v;
java.nio.channels.SocketChannel v;
org.apache.kafkaesqueesqueesque.common.network.ChannelMetadataRegistry v;
java.lang.String v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v := @parameter: java.nio.channels.SocketChannel;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void ensureNotRegistered(java.lang.String)>(v);
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.SelectionKey registerChannel(java.lang.String,java.nio.channels.SocketChannel,int)>(v, v, 1);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor connectionCreated>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel channel(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: org.apache.kafkaesqueesqueesque.common.network.ChannelMetadataRegistry channelMetadataRegistry()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.network.ChannelMetadataRegistry: org.apache.kafkaesqueesqueesque.common.network.ClientInformation clientInformation()>();
if v != null goto label;
v = <org.apache.kafkaesqueesqueesque.common.network.ClientInformation: org.apache.kafkaesqueesqueesque.common.network.ClientInformation EMPTY>;
interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.network.ChannelMetadataRegistry: void registerClientInformation(org.apache.kafkaesqueesqueesque.common.network.ClientInformation)>(v);
label:
return;
}
private void ensureNotRegistered(java.lang.String)
{
java.lang.IllegalStateException v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Map v, v;
java.lang.String v, v, v;
boolean v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
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[])>("There is already a connection for id \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
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[])>("There is already a connection for id \u that is still being closed");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
protected java.nio.channels.SelectionKey registerChannel(java.lang.String, java.nio.channels.SocketChannel, int) throws java.io.IOException
{
java.nio.channels.SelectionKey v;
java.nio.channels.Selector v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.nio.channels.SocketChannel v;
org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager v, v;
java.util.Map v;
int v;
java.lang.String v, v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v := @parameter: java.nio.channels.SocketChannel;
v := @parameter: int;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.nio.channels.SelectionKey register(java.nio.channels.Selector,int)>(v, v);
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel buildAndAttachKafkaChannel(java.nio.channels.SocketChannel,java.lang.String,java.nio.channels.SelectionKey)>(v, v, v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long nanoseconds()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: void update(java.lang.String,long)>(v, v);
label:
return v;
}
private org.apache.kafkaesqueesqueesque.common.network.KafkaChannel buildAndAttachKafkaChannel(java.nio.channels.SocketChannel, java.lang.String, java.nio.channels.SelectionKey) throws java.io.IOException
{
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v;
java.nio.channels.SelectionKey v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.io.IOException v;
java.lang.Exception v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.memory.MemoryPool v;
java.nio.channels.SocketChannel v;
int v;
java.lang.String v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorChannelMetadataRegistry v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.nio.channels.SocketChannel;
v := @parameter: java.lang.String;
v := @parameter: java.nio.channels.SelectionKey;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder channelBuilder>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: int maxReceiveSize>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool memoryPool>;
v = new org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorChannelMetadataRegistry;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorChannelMetadataRegistry: void <init>(org.apache.kafkaesqueesqueesque.common.network.Selector)>(v);
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel buildChannel(java.lang.String,java.nio.channels.SelectionKey,int,org.apache.kafkaesqueesqueesque.common.memory.MemoryPool,org.apache.kafkaesqueesqueesque.common.network.ChannelMetadataRegistry)>(v, v, v, v, v);
virtualinvoke v.<java.nio.channels.SelectionKey: java.lang.Object attach(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
virtualinvoke v.<java.nio.channels.SelectionKey: void cancel()>();
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.nio.channels.SocketChannel)>(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[])>("Channel could not be created for socket \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Exception from label to label with label;
}
public void wakeup()
{
java.nio.channels.Selector v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
virtualinvoke v.<java.nio.channels.Selector: java.nio.channels.Selector wakeup()>();
return;
}
public void close()
{
java.lang.Throwable v, v, v;
java.nio.channels.Selector v, v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.ArrayList v;
java.util.Map v;
boolean v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder v, v;
java.util.Iterator v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
java.lang.Object v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = new java.util.ArrayList;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(java.lang.String)>(v);
goto label;
label:
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "nioSelector", v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "sensors", v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder channelBuilder>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "channelBuilder", v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = v instanceof java.lang.RuntimeException;
if v == 0 goto label;
v = v instanceof java.lang.SecurityException;
if v != 0 goto label;
throw v;
label:
v := @caughtexception;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "nioSelector", v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "sensors", v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.ChannelBuilder channelBuilder>;
staticinvoke <org.apache.kafkaesqueesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String,java.util.concurrent.atomic.AtomicReference)>(v, "channelBuilder", v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = v instanceof java.lang.RuntimeException;
if v == 0 goto label;
v = v instanceof java.lang.SecurityException;
if v != 0 goto label;
throw v;
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void send(org.apache.kafkaesqueesqueesque.common.network.Send)
{
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v;
java.lang.Exception v;
org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode v;
org.apache.kafkaesqueesqueesque.common.network.Send v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.util.List v, v;
java.util.Map v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.Send;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Send: java.lang.String destination()>();
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel openOrClosingChannelOrFail(java.lang.String)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List failedSends>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void setSend(org.apache.kafkaesqueesqueesque.common.network.Send)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState FAILED_SEND>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void state(org.apache.kafkaesqueesqueesque.common.network.ChannelState)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List failedSends>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode DISCARD_NO_NOTIFY>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
v = v instanceof java.nio.channels.CancelledKeyException;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Unexpected exception during send, closing connection {} and rethrowing exception {}", v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
public void poll(long) throws java.io.IOException
{
byte v;
java.util.Map v;
boolean v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v, v;
java.util.Collection v;
java.util.Set v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.utils.Time v, v, v, v, v;
java.nio.channels.Selector v;
long v, v, v, v, v, v, v, v;
java.util.HashSet v;
org.apache.kafkaesqueesqueesque.common.memory.MemoryPool v;
int v;
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.IllegalArgumentException v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v, v;
java.lang.Object v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: long;
v = v cmp 0L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("timeout should be >= 0");
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void clear()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
if v == 0 goto label;
if v == 0 goto label;
label:
v = 0L;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool memoryPool>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.memory.MemoryPool: boolean isOutOfMemory()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean outOfMemory>;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Broker no longer low on memory - unmuting incoming sockets");
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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.kafkaesqueesqueesque.common.network.KafkaChannel: boolean isInMutableState()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean maybeUnmute()>();
goto label;
label:
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean outOfMemory> = 0;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long nanoseconds()>();
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: int select(long)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long nanoseconds()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor selectTime>;
v = v - v;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record(double,long)>(v, v);
if v > 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
if v == 0 goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
v = virtualinvoke v.<java.nio.channels.Selector: java.util.Set selectedKeys()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead>;
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead>;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead> = v;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void pollSelectionKeys(java.util.Set,boolean,long)>(v, 0, v);
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void pollSelectionKeys(java.util.Set,boolean,long)>(v, 0, v);
interfaceinvoke v.<java.util.Set: void clear()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void pollSelectionKeys(java.util.Set,boolean,long)>(v, 1, v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
interfaceinvoke v.<java.util.Set: void clear()>();
goto label;
label:
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll> = 1;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long nanoseconds()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor ioTime>;
v = v - v;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record(double,long)>(v, v);
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void completeDelayedChannelClose(long)>(v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void maybeCloseOldestConnection(long)>(v);
return;
}
void pollSelectionKeys(java.util.Set, boolean, long)
{
java.lang.Integer v, v, v;
byte v;
java.lang.Long v, v;
java.util.Set v, v, v;
java.lang.Exception v, v;
org.apache.kafkaesqueesqueesque.common.utils.Time v, v;
java.lang.Throwable v, v;
java.lang.Object[] v, v;
long v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode v, v;
java.lang.String v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v, v, v, v, v, v, v, v;
java.util.Collection v;
java.util.List v;
java.util.Optional v;
java.net.Socket v, v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager v, v;
int v, v, v, v, v;
double v;
org.slf4j.Logger v, v, v, v, v, v;
java.util.Iterator v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v, v, v;
java.util.function.Consumer v;
java.nio.channels.SelectableChannel v;
java.lang.Object v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.util.Set;
v := @parameter: boolean;
v := @parameter: long;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Collection determineHandlingOrder(java.util.Set)>(v);
v = interfaceinvoke v.<java.util.Collection: 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 = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel channel(java.nio.channels.SelectionKey)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean recordTimePerConnection>;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long nanoseconds()>();
goto label;
label:
v = 0L;
label:
v = v;
v = 0;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: void maybeRegisterConnectionMetrics(java.lang.String)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: void update(java.lang.String,long)>(v, v);
label:
if v != 0 goto label;
v = virtualinvoke v.<java.nio.channels.SelectionKey: boolean isConnectable()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean finishConnect()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List connected>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor connectionCreated>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = virtualinvoke v.<java.nio.channels.SelectionKey: java.nio.channels.SelectableChannel channel()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[4];
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: int getReceiveBufferSize()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: int getSendBufferSize()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: int getSoTimeout()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Created socket with SO_RCVBUF = {}, SO_SNDBUF = {}, SO_TIMEOUT = {} to node {}", v);
goto label;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void maybeRecordTimePerConnection(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,long)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean isConnected()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean ready()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void prepare()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean ready()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: int successfulAuthentications()>();
if v <= 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor successfulReauthentication>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record(double,long)>(1.0, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.Long reauthenticationLatencyMs()>();
if v != null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Should never happen: re-authentication latency for a re-authenticated channel was null; continuing...");
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor reauthenticationLatency>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.Long reauthenticationLatencyMs()>();
v = virtualinvoke v.<java.lang.Long: double doubleValue()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record(double,long)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor successfulAuthentication>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record(double,long)>(1.0, v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean connectedClientSupportsReauthentication()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor successfulAuthenticationNoReauth>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record(double,long)>(1.0, v);
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
if v == 0 goto label;
v = "re-";
goto label;
label:
v = "";
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String socketDescription()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Successfully {}authenticated with {}", v, v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean ready()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: org.apache.kafkaesqueesqueesque.common.network.ChannelState state()>();
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState NOT_CONNECTED>;
if v != v goto label;
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState READY>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void state(org.apache.kafkaesqueesqueesque.common.network.ChannelState)>(v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.util.Optional pollResponseReceivedDuringReauthentication()>();
v = staticinvoke <org.apache.kafkaesqueesqueesque.common.network.Selector$lambda_pollSelectionKeys_0__268: java.util.function.Consumer bootstrap$(org.apache.kafkaesqueesqueesque.common.network.Selector,org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v, v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean ready()>();
if v == 0 goto label;
v = virtualinvoke v.<java.nio.channels.SelectionKey: boolean isReadable()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean hasBytesBuffered()>();
if v == 0 goto label;
label:
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean hasCompletedReceive(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void attemptRead(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean hasBytesBuffered()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v cmp 0L;
if v == 0 goto label;
v = v;
goto label;
label:
v = v;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void attemptWrite(java.nio.channels.SelectionKey,org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,long)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = 1;
throw v;
label:
v = virtualinvoke v.<java.nio.channels.SelectionKey: boolean isValid()>();
if v != 0 goto label;
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void maybeRecordTimePerConnection(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,long)>(v, v);
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String socketDescription()>();
v = v instanceof java.io.IOException;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Connection with {} disconnected", v, v);
goto label;
label:
v = v instanceof org.apache.kafkaesqueesqueesque.common.errors.AuthenticationException;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: int successfulAuthentications()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor failedReauthentication>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor failedAuthentication>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
label:
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = v instanceof org.apache.kafkaesqueesqueesque.common.network.DelayedResponseAuthenticationException;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Exception: java.lang.Throwable getCause()>();
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
if v == 0 goto label;
v = "re-";
goto label;
label:
v = "";
label:
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Failed {}authentication with {} ({})", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Unexpected error from {}; closing connection", v, v);
label:
v = v instanceof org.apache.kafkaesqueesqueesque.common.network.DelayedResponseAuthenticationException;
if v == 0 goto label;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void maybeDelayCloseOnAuthenticationFailure(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
goto label;
label:
if v == 0 goto label;
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode NOTIFY_ONLY>;
goto label;
label:
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void maybeRecordTimePerConnection(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,long)>(v, v);
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void maybeRecordTimePerConnection(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,long)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
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;
catch java.lang.Throwable from label to label with label;
}
private void attemptWrite(java.nio.channels.SelectionKey, org.apache.kafkaesqueesqueesque.common.network.KafkaChannel, long) throws java.io.IOException
{
java.nio.channels.SelectionKey v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
java.util.function.Supplier v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
boolean v, v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.nio.channels.SelectionKey;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v := @parameter: long;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean hasSend()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean ready()>();
if v == 0 goto label;
v = virtualinvoke v.<java.nio.channels.SelectionKey: boolean isWritable()>();
if v == 0 goto label;
v = staticinvoke <org.apache.kafkaesqueesqueesque.common.network.Selector$lambda_attemptWrite_1__269: java.util.function.Supplier bootstrap$(long)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean maybeBeginClientReauthentication(java.util.function.Supplier)>(v);
if v != 0 goto label;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void write(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
label:
return;
}
void write(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel) throws java.io.IOException
{
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v, v, v;
org.apache.kafkaesqueesqueesque.common.network.Send v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.util.List v;
byte v, v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: long write()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: org.apache.kafkaesqueesqueesque.common.network.Send maybeCompleteSend()>();
v = v cmp 0L;
if v > 0 goto label;
if v == null goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
v = v cmp 0L;
if v <= 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: void recordBytesSent(java.lang.String,long,long)>(v, v, v);
label:
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List completedSends>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Send: long size()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: void recordCompletedSend(java.lang.String,long,long)>(v, v, v);
label:
return;
}
private java.util.Collection determineHandlingOrder(java.util.Set)
{
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
long v, v;
java.util.ArrayList v;
org.apache.kafkaesqueesqueesque.common.memory.MemoryPool v;
byte v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.util.Set;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean outOfMemory>;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.memory.MemoryPool memoryPool>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.memory.MemoryPool: long availableMemory()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: long lowMemThreshold>;
v = v cmp v;
if v >= 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void shuffle(java.util.List)>(v);
return v;
label:
return v;
}
private void attemptRead(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel) throws java.io.IOException
{
org.apache.kafkaesqueesqueesque.common.network.NetworkReceive v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v, v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
byte v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: long read()>();
v = v cmp 0L;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long milliseconds()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: void recordBytesReceived(java.lang.String,long,long)>(v, v, v);
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll> = 1;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: org.apache.kafkaesqueesqueesque.common.network.NetworkReceive maybeCompleteReceive()>();
if v == null goto label;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void addToCompletedReceives(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.NetworkReceive,long)>(v, v, v);
label:
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean isMuted()>();
if v == 0 goto label;
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean outOfMemory> = 1;
goto label;
label:
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll> = 1;
label:
return;
}
private boolean maybeReadFromClosingChannel(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)
{
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v;
java.lang.Exception v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState$State v, v;
boolean v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: org.apache.kafkaesqueesqueesque.common.network.ChannelState state()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState$State state()>();
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState$State: org.apache.kafkaesqueesqueesque.common.network.ChannelState$State READY>;
if v == v goto label;
v = 0;
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean hasCompletedReceive(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void attemptRead(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean hasCompletedReceive(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>("Read from closing channel failed, ignoring exception", v);
v = 0;
label:
return v;
catch java.lang.Exception from label to label with label;
}
private void maybeRecordTimePerConnection(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel, long)
{
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v, v, v;
org.apache.kafkaesqueesqueesque.common.utils.Time v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean recordTimePerConnection>;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.utils.Time time>;
v = interfaceinvoke v.<org.apache.kafkaesqueesqueesque.common.utils.Time: long nanoseconds()>();
v = v - v;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void addNetworkThreadTimeNanos(long)>(v);
label:
return;
}
public java.util.List completedSends()
{
java.util.List v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List completedSends>;
return v;
}
public java.util.Collection completedReceives()
{
java.util.LinkedHashMap v;
java.util.Collection v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap completedReceives>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
return v;
}
public java.util.Map disconnected()
{
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map disconnected>;
return v;
}
public java.util.List connected()
{
java.util.List v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List connected>;
return v;
}
public void mute(java.lang.String)
{
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel openOrClosingChannelOrFail(java.lang.String)>(v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void mute(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
return;
}
private void mute(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)
{
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.util.Set v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void mute()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return;
}
public void unmute(java.lang.String)
{
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.lang.String v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel openOrClosingChannelOrFail(java.lang.String)>(v);
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void unmute(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
return;
}
private void unmute(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)
{
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean maybeUnmute()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
label:
return;
}
public void muteAll()
{
java.util.Iterator v;
java.util.Collection v;
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.Object v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void mute(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
goto label;
label:
return;
}
public void unmuteAll()
{
java.util.Iterator v;
java.util.Collection v;
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.Object v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void unmute(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
goto label;
label:
return;
}
void completeDelayedChannelClose(long)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
java.util.LinkedHashMap v, v, v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
if v != null goto label;
return;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
v = virtualinvoke v.<java.util.LinkedHashMap: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$DelayedAuthenticationFailureClose: boolean tryClose(long)>(v);
if v != 0 goto label;
label:
return;
}
private void maybeCloseOldestConnection(long)
{
long v, v, v, v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode v;
java.lang.Long v;
org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager v, v;
java.util.Map v;
boolean v;
java.util.Map$Entry v;
org.slf4j.Logger v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v;
java.lang.Object v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: long;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
if v != null goto label;
return;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: java.util.Map$Entry pollExpiredConnection(long)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v - v;
v = v / 1000L;
v = v / 1000L;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("About to close the idle connection from {} due to being idle for {} millis", v, v);
label:
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState EXPIRED>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void state(org.apache.kafkaesqueesqueesque.common.network.ChannelState)>(v);
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
label:
return;
}
private void clear()
{
java.util.LinkedHashMap v;
java.util.Map v, v, v;
java.lang.String v;
boolean v, v, v, v;
java.util.Iterator v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v;
java.util.List v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List completedSends>;
interfaceinvoke v.<java.util.List: void clear()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap completedReceives>;
virtualinvoke v.<java.util.LinkedHashMap: void clear()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List connected>;
interfaceinvoke v.<java.util.List: void clear()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map disconnected>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List failedSends>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
v = 0;
if v != 0 goto label;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean maybeReadFromClosingChannel(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
label:
if v == 0 goto label;
if v == 0 goto label;
label:
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void doClose(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,boolean)>(v, 1);
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List failedSends>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map disconnected>;
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState FAILED_SEND>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List failedSends>;
interfaceinvoke v.<java.util.List: void clear()>();
v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll> = 0;
return;
}
private int select(long) throws java.io.IOException
{
java.nio.channels.Selector v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
java.lang.IllegalArgumentException v;
byte v, v;
int v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: long;
v = v cmp 0L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("timeout should be >= 0");
throw v;
label:
v = v cmp 0L;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
v = virtualinvoke v.<java.nio.channels.Selector: int selectNow()>();
return v;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
v = virtualinvoke v.<java.nio.channels.Selector: int select(long)>(v);
return v;
}
public void close(java.lang.String)
{
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v;
org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode v;
java.util.Map v, v;
java.lang.Object v, v;
java.lang.String v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.kafkaesqueesqueesque.common.network.ChannelState: org.apache.kafkaesqueesqueesque.common.network.ChannelState LOCAL_CLOSE>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void state(org.apache.kafkaesqueesqueesque.common.network.ChannelState)>(v);
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode DISCARD_NO_NOTIFY>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void doClose(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,boolean)>(v, 0);
label:
return;
}
private void maybeDelayCloseOnAuthenticationFailure(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)
{
java.util.LinkedHashMap v, v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.Selector$DelayedAuthenticationFailureClose v;
int v;
java.lang.String v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v = new org.apache.kafkaesqueesqueesque.common.network.Selector$DelayedAuthenticationFailureClose;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: int failedAuthenticationDelayMs>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$DelayedAuthenticationFailureClose: void <init>(org.apache.kafkaesqueesqueesque.common.network.Selector,org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,int)>(v, v, v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
virtualinvoke v.<java.util.LinkedHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$DelayedAuthenticationFailureClose: void closeNow()>();
label:
return;
}
private void handleCloseOnAuthenticationFailure(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)
{
java.lang.Throwable v;
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.Exception v;
org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode v, v, v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.lang.String v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
label:
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void completeCloseOnAuthenticationFailure()>();
label:
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Exception handling close on authentication failure node {}", v, v);
label:
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)>(v, v);
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;
}
private void close(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel, org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode)
{
org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode v, v;
java.util.LinkedHashMap v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager v, v;
java.util.Map v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
java.util.List v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void disconnect()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.List connected>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
v = <org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode GRACEFUL>;
if v != v goto label;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean maybeReadFromClosingChannel(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Tracking closing connection {} to process outstanding requests", v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$CloseMode: boolean notifyDisconnect>;
specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: void doClose(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel,boolean)>(v, v);
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
virtualinvoke v.<java.util.LinkedHashMap: java.lang.Object remove(java.lang.Object)>(v);
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: void remove(java.lang.String)>(v);
label:
return;
}
private void doClose(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel, boolean)
{
java.lang.Throwable v;
java.util.LinkedHashMap v;
java.util.Map v;
java.lang.String v, v;
boolean v;
org.slf4j.Logger v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v;
java.nio.channels.SelectionKey v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v, v, v;
java.io.IOException v;
org.apache.kafkaesqueesqueesque.common.network.ChannelState v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.metrics.Sensor v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.nio.channels.SelectionKey selectionKey()>();
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set immediatelyConnectedKeys>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set keysWithBufferedRead>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: void close()>();
label:
virtualinvoke v.<java.nio.channels.SelectionKey: void cancel()>();
virtualinvoke v.<java.nio.channels.SelectionKey: java.lang.Object attach(java.lang.Object)>(null);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Exception closing connection to node {}:", v, v);
label:
virtualinvoke v.<java.nio.channels.SelectionKey: void cancel()>();
virtualinvoke v.<java.nio.channels.SelectionKey: java.lang.Object attach(java.lang.Object)>(null);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.nio.channels.SelectionKey: void cancel()>();
virtualinvoke v.<java.nio.channels.SelectionKey: java.lang.Object attach(java.lang.Object)>(null);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: org.apache.kafkaesqueesqueesque.common.metrics.Sensor connectionClosed>;
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.metrics.Sensor: void record()>();
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap completedReceives>;
virtualinvoke v.<java.util.LinkedHashMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Set explicitlyMutedChannels>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map disconnected>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: org.apache.kafkaesqueesqueesque.common.network.ChannelState state()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public boolean isChannelReady(java.lang.String)
{
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.Object v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: boolean ready()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private org.apache.kafkaesqueesqueesque.common.network.KafkaChannel openOrClosingChannelOrFail(java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
java.util.Map v, v, v;
java.lang.Object v;
java.lang.String v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.util.Set)>(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[])>("Attempt to retrieve channel for which there is no connection. Connection id \u existing connections \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public java.util.List channels()
{
java.util.Collection v;
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.ArrayList v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = new java.util.ArrayList;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public org.apache.kafkaesqueesqueesque.common.network.KafkaChannel channel(java.lang.String)
{
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public org.apache.kafkaesqueesqueesque.common.network.KafkaChannel closingChannel(java.lang.String)
{
java.util.Map v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.lang.String;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public org.apache.kafkaesqueesqueesque.common.network.KafkaChannel lowestPriorityChannel()
{
org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager v, v, v;
java.util.Map v, v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v, v, v;
java.util.Collection v, v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
java.lang.Object v, v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map closingChannels>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: java.util.Map lruConnections>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager idleExpiryManager>;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector$IdleExpiryManager: java.util.Map lruConnections>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel channel(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.Map channels>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
return v;
}
private org.apache.kafkaesqueesqueesque.common.network.KafkaChannel channel(java.nio.channels.SelectionKey)
{
java.lang.Object v;
java.nio.channels.SelectionKey v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: java.nio.channels.SelectionKey;
v = virtualinvoke v.<java.nio.channels.SelectionKey: java.lang.Object attachment()>();
return v;
}
private boolean hasCompletedReceive(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)
{
java.util.LinkedHashMap v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap completedReceives>;
v = virtualinvoke v.<java.util.LinkedHashMap: boolean containsKey(java.lang.Object)>(v);
return v;
}
private void addToCompletedReceives(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel, org.apache.kafkaesqueesqueesque.common.network.NetworkReceive, long)
{
java.lang.IllegalStateException v;
org.apache.kafkaesqueesqueesque.common.network.NetworkReceive v;
org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
long v;
java.util.LinkedHashMap v;
org.apache.kafkaesqueesqueesque.common.network.KafkaChannel v;
int v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.KafkaChannel;
v := @parameter: org.apache.kafkaesqueesqueesque.common.network.NetworkReceive;
v := @parameter: long;
v = specialinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean hasCompletedReceive(org.apache.kafkaesqueesqueesque.common.network.KafkaChannel)>(v);
if v == 0 goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
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[])>("Attempting to add second completed receive to channel \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap completedReceives>;
virtualinvoke v.<java.util.LinkedHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics sensors>;
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.KafkaChannel: java.lang.String id()>();
v = virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.NetworkReceive: int size()>();
virtualinvoke v.<org.apache.kafkaesqueesqueesque.common.network.Selector$SelectorMetrics: void recordCompletedReceive(java.lang.String,long,long)>(v, v, v);
return;
}
public java.util.Set keys()
{
java.util.HashSet v;
java.nio.channels.Selector v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
java.util.Set v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = new java.util.HashSet;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.nio.channels.Selector nioSelector>;
v = virtualinvoke v.<java.nio.channels.Selector: java.util.Set keys()>();
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
return v;
}
boolean isOutOfMemory()
{
boolean v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean outOfMemory>;
return v;
}
boolean isMadeReadProgressLastPoll()
{
boolean v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: boolean madeReadProgressLastPoll>;
return v;
}
java.util.Map delayedClosingChannels()
{
java.util.LinkedHashMap v;
org.apache.kafkaesqueesqueesque.common.network.Selector v;
v := @this: org.apache.kafkaesqueesqueesque.common.network.Selector;
v = v.<org.apache.kafkaesqueesqueesque.common.network.Selector: java.util.LinkedHashMap delayedClosingChannels>;
return v;
}
}