class org.apache.cassandra.transport.Server$Initializer extends io.netty.channel.ChannelInitializer<io.netty.channel.Channel>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.transport.Server$Initializer
  super_class: io.netty.channel.ChannelInitializer
{
  private static final org.apache.cassandra.transport.Message$ProtocolDecoder messageDecoder;
    descriptor: Lorg/apache/cassandra/transport/Message$ProtocolDecoder;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.transport.Frame$Decompressor frameDecompressor;
    descriptor: Lorg/apache/cassandra/transport/Frame$Decompressor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.transport.Frame$Compressor frameCompressor;
    descriptor: Lorg/apache/cassandra/transport/Frame$Compressor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.transport.Frame$Encoder frameEncoder;
    descriptor: Lorg/apache/cassandra/transport/Frame$Encoder;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.transport.Message$ExceptionHandler exceptionHandler;
    descriptor: Lorg/apache/cassandra/transport/Message$ExceptionHandler;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.transport.ConnectionLimitHandler connectionLimitHandler;
    descriptor: Lorg/apache/cassandra/transport/ConnectionLimitHandler;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.cassandra.transport.Server server;
    descriptor: Lorg/apache/cassandra/transport/Server;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 342
            new org.apache.cassandra.transport.Message$ProtocolDecoder
            dup
            invokespecial org.apache.cassandra.transport.Message$ProtocolDecoder.<init>:()V
            putstatic org.apache.cassandra.transport.Server$Initializer.messageDecoder:Lorg/apache/cassandra/transport/Message$ProtocolDecoder;
         1: .line 343
            new org.apache.cassandra.transport.Frame$Decompressor
            dup
            invokespecial org.apache.cassandra.transport.Frame$Decompressor.<init>:()V
            putstatic org.apache.cassandra.transport.Server$Initializer.frameDecompressor:Lorg/apache/cassandra/transport/Frame$Decompressor;
         2: .line 344
            new org.apache.cassandra.transport.Frame$Compressor
            dup
            invokespecial org.apache.cassandra.transport.Frame$Compressor.<init>:()V
            putstatic org.apache.cassandra.transport.Server$Initializer.frameCompressor:Lorg/apache/cassandra/transport/Frame$Compressor;
         3: .line 345
            new org.apache.cassandra.transport.Frame$Encoder
            dup
            invokespecial org.apache.cassandra.transport.Frame$Encoder.<init>:()V
            putstatic org.apache.cassandra.transport.Server$Initializer.frameEncoder:Lorg/apache/cassandra/transport/Frame$Encoder;
         4: .line 346
            new org.apache.cassandra.transport.Message$ExceptionHandler
            dup
            invokespecial org.apache.cassandra.transport.Message$ExceptionHandler.<init>:()V
            putstatic org.apache.cassandra.transport.Server$Initializer.exceptionHandler:Lorg/apache/cassandra/transport/Message$ExceptionHandler;
         5: .line 347
            new org.apache.cassandra.transport.ConnectionLimitHandler
            dup
            invokespecial org.apache.cassandra.transport.ConnectionLimitHandler.<init>:()V
            putstatic org.apache.cassandra.transport.Server$Initializer.connectionLimitHandler:Lorg/apache/cassandra/transport/ConnectionLimitHandler;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.transport.Server);
    descriptor: (Lorg/apache/cassandra/transport/Server;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.transport.Server$Initializer this
        start local 1 // org.apache.cassandra.transport.Server server
         0: .line 351
            aload 0 /* this */
            invokespecial io.netty.channel.ChannelInitializer.<init>:()V
         1: .line 353
            aload 0 /* this */
            aload 1 /* server */
            putfield org.apache.cassandra.transport.Server$Initializer.server:Lorg/apache/cassandra/transport/Server;
         2: .line 354
            return
        end local 1 // org.apache.cassandra.transport.Server server
        end local 0 // org.apache.cassandra.transport.Server$Initializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/cassandra/transport/Server$Initializer;
            0    3     1  server  Lorg/apache/cassandra/transport/Server;
    MethodParameters:
        Name  Flags
      server  

  protected void initChannel(io.netty.channel.Channel);
    descriptor: (Lio/netty/channel/Channel;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.cassandra.transport.Server$Initializer this
        start local 1 // io.netty.channel.Channel channel
         0: .line 358
            aload 1 /* channel */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            astore 2 /* pipeline */
        start local 2 // io.netty.channel.ChannelPipeline pipeline
         1: .line 361
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnections:()J
            lconst_0
            lcmp
            ifgt 3
         2: .line 362
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp:()J
            lconst_0
            lcmp
            ifle 4
         3: .line 365
      StackMap locals: io.netty.channel.ChannelPipeline
      StackMap stack:
            aload 2 /* pipeline */
            ldc "connectionLimitHandler"
            getstatic org.apache.cassandra.transport.Server$Initializer.connectionLimitHandler:Lorg/apache/cassandra/transport/ConnectionLimitHandler;
            invokeinterface io.netty.channel.ChannelPipeline.addFirst:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         4: .line 370
      StackMap locals:
      StackMap stack:
            aload 2 /* pipeline */
            ldc "frameDecoder"
            new org.apache.cassandra.transport.Frame$Decoder
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Server$Initializer.server:Lorg/apache/cassandra/transport/Server;
            getfield org.apache.cassandra.transport.Server.connectionFactory:Lorg/apache/cassandra/transport/Connection$Factory;
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Server$Initializer.server:Lorg/apache/cassandra/transport/Server;
            getfield org.apache.cassandra.transport.Server.protocolVersionLimit:Lorg/apache/cassandra/transport/ProtocolVersionLimit;
            invokespecial org.apache.cassandra.transport.Frame$Decoder.<init>:(Lorg/apache/cassandra/transport/Connection$Factory;Lorg/apache/cassandra/transport/ProtocolVersionLimit;)V
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         5: .line 371
            aload 2 /* pipeline */
            ldc "frameEncoder"
            getstatic org.apache.cassandra.transport.Server$Initializer.frameEncoder:Lorg/apache/cassandra/transport/Frame$Encoder;
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         6: .line 373
            aload 2 /* pipeline */
            ldc "frameDecompressor"
            getstatic org.apache.cassandra.transport.Server$Initializer.frameDecompressor:Lorg/apache/cassandra/transport/Frame$Decompressor;
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         7: .line 374
            aload 2 /* pipeline */
            ldc "frameCompressor"
            getstatic org.apache.cassandra.transport.Server$Initializer.frameCompressor:Lorg/apache/cassandra/transport/Frame$Compressor;
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         8: .line 376
            aload 2 /* pipeline */
            ldc "messageDecoder"
            getstatic org.apache.cassandra.transport.Server$Initializer.messageDecoder:Lorg/apache/cassandra/transport/Message$ProtocolDecoder;
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         9: .line 377
            aload 2 /* pipeline */
            ldc "messageEncoder"
            new org.apache.cassandra.transport.Message$ProtocolEncoder
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.transport.Server$Initializer.server:Lorg/apache/cassandra/transport/Server;
            getfield org.apache.cassandra.transport.Server.protocolVersionLimit:Lorg/apache/cassandra/transport/ProtocolVersionLimit;
            invokespecial org.apache.cassandra.transport.Message$ProtocolEncoder.<init>:(Lorg/apache/cassandra/transport/ProtocolVersionLimit;)V
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        10: .line 379
            aload 2 /* pipeline */
            ldc "executor"
            new org.apache.cassandra.transport.Message$Dispatcher
            dup
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.useNativeTransportLegacyFlusher:()Z
        11: .line 380
            aload 1 /* channel */
            invokeinterface io.netty.channel.Channel.remoteAddress:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokestatic org.apache.cassandra.transport.Server$EndpointPayloadTracker.get:(Ljava/net/InetAddress;)Lorg/apache/cassandra/transport/Server$EndpointPayloadTracker;
            invokespecial org.apache.cassandra.transport.Message$Dispatcher.<init>:(ZLorg/apache/cassandra/transport/Server$EndpointPayloadTracker;)V
        12: .line 379
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        13: .line 388
            aload 2 /* pipeline */
            ldc "exceptionHandler"
            getstatic org.apache.cassandra.transport.Server$Initializer.exceptionHandler:Lorg/apache/cassandra/transport/Message$ExceptionHandler;
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        14: .line 389
            return
        end local 2 // io.netty.channel.ChannelPipeline pipeline
        end local 1 // io.netty.channel.Channel channel
        end local 0 // org.apache.cassandra.transport.Server$Initializer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/apache/cassandra/transport/Server$Initializer;
            0   15     1   channel  Lio/netty/channel/Channel;
            1   15     2  pipeline  Lio/netty/channel/ChannelPipeline;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      channel  
}
Signature: Lio/netty/channel/ChannelInitializer<Lio/netty/channel/Channel;>;
SourceFile: "Server.java"
NestHost: org.apache.cassandra.transport.Server
InnerClasses:
  public abstract Factory = org.apache.cassandra.transport.Connection$Factory of org.apache.cassandra.transport.Connection
  public Compressor = org.apache.cassandra.transport.Frame$Compressor of org.apache.cassandra.transport.Frame
  public Decoder = org.apache.cassandra.transport.Frame$Decoder of org.apache.cassandra.transport.Frame
  public Decompressor = org.apache.cassandra.transport.Frame$Decompressor of org.apache.cassandra.transport.Frame
  public Encoder = org.apache.cassandra.transport.Frame$Encoder of org.apache.cassandra.transport.Frame
  public Dispatcher = org.apache.cassandra.transport.Message$Dispatcher of org.apache.cassandra.transport.Message
  public final ExceptionHandler = org.apache.cassandra.transport.Message$ExceptionHandler of org.apache.cassandra.transport.Message
  public ProtocolDecoder = org.apache.cassandra.transport.Message$ProtocolDecoder of org.apache.cassandra.transport.Message
  public ProtocolEncoder = org.apache.cassandra.transport.Message$ProtocolEncoder of org.apache.cassandra.transport.Message
  public EndpointPayloadTracker = org.apache.cassandra.transport.Server$EndpointPayloadTracker of org.apache.cassandra.transport.Server
  private Initializer = org.apache.cassandra.transport.Server$Initializer of org.apache.cassandra.transport.Server