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.AsynchronousSocketChannelchannelprivate PacketReceiver<D>handlerprivate static org.slf4j.Loggerloggerprivate PacketFactory<D>packetFactoryprivate java.lang.StringremoteHostprivate intsoTimeoutprivate java.util.concurrent.atomic.AtomicBooleanstopped
-
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 voidcloseChannelQuietly()private voidhandleAsyncFailure(java.lang.Throwable exc)private voidinitiateNextRead(PacketBufferReader bufferReader)private booleanisChannelClosedByOtherParty(java.lang.Throwable exc)private voidreadAndHandlePacket(byte[] packetBytes)voidstart(java.lang.String remoteHost, int soTimeout)voidstop()
-
-
-
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()
-
-