Class AsyncPacketReader<D extends PacketData<?>>
- java.lang.Object
-
- com.hierynomus.smbj.transport.tcp.async.AsyncPacketReader<D>
-
public class AsyncPacketReader<D extends PacketData<?>> extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.channels.AsynchronousSocketChannel
channel
private PacketReceiver<D>
handler
private static org.slf4j.Logger
logger
private PacketFactory<D>
packetFactory
private java.lang.String
remoteHost
private int
soTimeout
private java.util.concurrent.atomic.AtomicBoolean
stopped
-
Constructor Summary
Constructors Constructor Description AsyncPacketReader(java.nio.channels.AsynchronousSocketChannel channel, PacketFactory<D> packetFactory, PacketReceiver<D> handler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
closeChannelQuietly()
private void
handleAsyncFailure(java.lang.Throwable exc)
private void
initiateNextRead(PacketBufferReader bufferReader)
private boolean
isChannelClosedByOtherParty(java.lang.Throwable exc)
private void
readAndHandlePacket(byte[] packetBytes)
void
start(java.lang.String remoteHost, int soTimeout)
void
stop()
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
packetFactory
private final PacketFactory<D extends PacketData<?>> packetFactory
-
handler
private PacketReceiver<D extends PacketData<?>> handler
-
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()
-
initiateNextRead
private void initiateNextRead(PacketBufferReader bufferReader)
-
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()
-
-