Class AsyncPacketReader<D extends PacketData<?>>


  • public class AsyncPacketReader<D extends PacketData<?>>
    extends java.lang.Object
    • Field Detail

      • logger

        private static final org.slf4j.Logger logger
      • channel

        private final java.nio.channels.AsynchronousSocketChannel channel
      • remoteHost

        private java.lang.String remoteHost
      • soTimeout

        private int soTimeout
      • stopped

        private java.util.concurrent.atomic.AtomicBoolean stopped
    • Constructor Detail

      • AsyncPacketReader

        public AsyncPacketReader​(java.nio.channels.AsynchronousSocketChannel channel,
                                 PacketFactory<D> packetFactory,
                                 PacketReceiver<D> handler)
    • Method Detail

      • start

        public void start​(java.lang.String remoteHost,
                          int soTimeout)
      • stop

        public void stop()
      • readAndHandlePacket

        private void readAndHandlePacket​(byte[] packetBytes)
      • handleAsyncFailure

        private void handleAsyncFailure​(java.lang.Throwable exc)
      • isChannelClosedByOtherParty

        private boolean isChannelClosedByOtherParty​(java.lang.Throwable exc)
      • closeChannelQuietly

        private void closeChannelQuietly()