Class Connection

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.SimpleChannelInboundHandler<Packet<?>>
net.minecraft.network.Connection
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler
Direct Known Subclasses:
FakePlayer.FakeConnection, RateKickingConnection

public class Connection extends io.netty.channel.SimpleChannelInboundHandler<Packet<?>>
  • Field Details

    • AVERAGE_PACKETS_SMOOTHING

      private static final float AVERAGE_PACKETS_SMOOTHING
      See Also:
    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • ROOT_MARKER

      public static final org.slf4j.Marker ROOT_MARKER
    • PACKET_MARKER

      public static final org.slf4j.Marker PACKET_MARKER
    • PACKET_RECEIVED_MARKER

      public static final org.slf4j.Marker PACKET_RECEIVED_MARKER
    • PACKET_SENT_MARKER

      public static final org.slf4j.Marker PACKET_SENT_MARKER
    • INITIAL_PROTOCOL

      private static final ProtocolInfo<ServerHandshakePacketListener> INITIAL_PROTOCOL
    • receiving

      private final PacketFlow receiving
    • sendLoginDisconnect

      private volatile boolean sendLoginDisconnect
    • pendingActions

      private final Queue<Consumer<Connection>> pendingActions
    • channel

      private io.netty.channel.Channel channel
    • address

      private SocketAddress address
    • disconnectListener

      private volatile @Nullable PacketListener disconnectListener
    • packetListener

      private volatile @Nullable PacketListener packetListener
    • disconnectionDetails

      private @Nullable DisconnectionDetails disconnectionDetails
    • encrypted

      private boolean encrypted
    • disconnectionHandled

      private boolean disconnectionHandled
    • receivedPackets

      private int receivedPackets
    • sentPackets

      private int sentPackets
    • averageReceivedPackets

      private float averageReceivedPackets
    • averageSentPackets

      private float averageSentPackets
    • tickCount

      private int tickCount
    • handlingFault

      private boolean handlingFault
    • delayedDisconnect

      private volatile @Nullable DisconnectionDetails delayedDisconnect
    • bandwidthDebugMonitor

      private @Nullable BandwidthDebugMonitor bandwidthDebugMonitor
    • inboundProtocol

      private @Nullable ProtocolInfo<?> inboundProtocol
  • Constructor Details

    • Connection

      public Connection(PacketFlow receiving)
  • Method Details

    • channelActive

      public void channelActive(io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      channelActive in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelActive in class io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • channelInactive

      public void channelInactive(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      channelInactive in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelInactive in class io.netty.channel.ChannelInboundHandlerAdapter
    • exceptionCaught

      public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
      Specified by:
      exceptionCaught in interface io.netty.channel.ChannelHandler
      Specified by:
      exceptionCaught in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      exceptionCaught in class io.netty.channel.ChannelInboundHandlerAdapter
    • channelRead0

      protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, Packet<?> packet)
      Specified by:
      channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<Packet<?>>
    • genericsFtw

      private static <T extends PacketListener> void genericsFtw(Packet<T> packet, PacketListener listener)
    • validateListener

      private void validateListener(ProtocolInfo<?> protocol, PacketListener packetListener)
    • syncAfterConfigurationChange

      private static void syncAfterConfigurationChange(io.netty.channel.ChannelFuture future)
    • setupInboundProtocol

      public <T extends PacketListener> void setupInboundProtocol(ProtocolInfo<T> protocol, T packetListener)
    • setupOutboundProtocol

      public void setupOutboundProtocol(ProtocolInfo<?> protocol)
    • setListenerForServerboundHandshake

      public void setListenerForServerboundHandshake(PacketListener packetListener)
    • initiateServerboundStatusConnection

      public void initiateServerboundStatusConnection(String hostName, int port, ClientStatusPacketListener listener)
    • initiateServerboundPlayConnection

      public void initiateServerboundPlayConnection(String hostName, int port, ClientLoginPacketListener listener)
    • initiateServerboundPlayConnection

      public <S extends ServerboundPacketListener, C extends ClientboundPacketListener> void initiateServerboundPlayConnection(String hostName, int port, ProtocolInfo<S> outbound, ProtocolInfo<C> inbound, C listener, boolean transfer)
    • initiateServerboundConnection

      private <S extends ServerboundPacketListener, C extends ClientboundPacketListener> void initiateServerboundConnection(String hostName, int port, ProtocolInfo<S> outbound, ProtocolInfo<C> inbound, C listener, ClientIntent intent)
    • send

      public void send(Packet<?> packet)
    • send

      public void send(Packet<?> packet, @Nullable io.netty.channel.ChannelFutureListener listener)
    • send

      public void send(Packet<?> packet, @Nullable io.netty.channel.ChannelFutureListener listener, boolean flush)
    • runOnceConnected

      public void runOnceConnected(Consumer<Connection> action)
    • sendPacket

      private void sendPacket(Packet<?> packet, @Nullable io.netty.channel.ChannelFutureListener listener, boolean flush)
    • doSendPacket

      private void doSendPacket(Packet<?> packet, @Nullable io.netty.channel.ChannelFutureListener listener, boolean flush)
    • flushChannel

      public void flushChannel()
    • flush

      private void flush()
    • flushQueue

      private void flushQueue()
    • tick

      public void tick()
    • tickSecond

      protected void tickSecond()
    • getRemoteAddress

      public SocketAddress getRemoteAddress()
    • getLoggableAddress

      public String getLoggableAddress(boolean logIPs)
    • disconnect

      public void disconnect(Component reason)
    • disconnect

      public void disconnect(DisconnectionDetails details)
    • isMemoryConnection

      public boolean isMemoryConnection()
    • getReceiving

      public PacketFlow getReceiving()
    • getSending

      public PacketFlow getSending()
    • connectToServer

      public static Connection connectToServer(InetSocketAddress address, EventLoopGroupHolder eventLoopGroupHolder, @Nullable LocalSampleLogger bandwidthLogger)
    • connect

      public static io.netty.channel.ChannelFuture connect(InetSocketAddress address, EventLoopGroupHolder eventLoopGroupHolder, Connection connection)
    • outboundHandlerName

      private static String outboundHandlerName(boolean configureOutbound)
    • inboundHandlerName

      private static String inboundHandlerName(boolean configureInbound)
    • configurePacketHandler

      public void configurePacketHandler(io.netty.channel.ChannelPipeline pipeline)
    • configureSerialization

      public static void configureSerialization(io.netty.channel.ChannelPipeline pipeline, PacketFlow inboundDirection, boolean local, @Nullable BandwidthDebugMonitor monitor)
    • createFrameEncoder

      private static io.netty.channel.ChannelOutboundHandler createFrameEncoder(boolean local)
    • createFrameDecoder

      private static io.netty.channel.ChannelInboundHandler createFrameDecoder(@Nullable BandwidthDebugMonitor monitor, boolean local)
    • configureInMemoryPipeline

      public static void configureInMemoryPipeline(io.netty.channel.ChannelPipeline pipeline, PacketFlow packetFlow)
    • connectToLocalServer

      public static Connection connectToLocalServer(SocketAddress address)
    • setEncryptionKey

      public void setEncryptionKey(Cipher decryptCipher, Cipher encryptCipher)
    • isEncrypted

      public boolean isEncrypted()
    • isConnected

      public boolean isConnected()
    • isConnecting

      public boolean isConnecting()
    • getPacketListener

      public @Nullable PacketListener getPacketListener()
    • getDisconnectionDetails

      public @Nullable DisconnectionDetails getDisconnectionDetails()
    • setReadOnly

      public void setReadOnly()
    • setupCompression

      public void setupCompression(int threshold, boolean validateDecompressed)
    • handleDisconnection

      public void handleDisconnection()
    • getAverageReceivedPackets

      public float getAverageReceivedPackets()
    • getAverageSentPackets

      public float getAverageSentPackets()
    • setBandwidthLogger

      public void setBandwidthLogger(LocalSampleLogger bandwidthLogger)
    • channel

      public io.netty.channel.Channel channel()
    • getDirection

      public PacketFlow getDirection()
    • getInboundProtocol

      public ProtocolInfo<?> getInboundProtocol()