Class DirectTcpTransport<D extends PacketData<?>,P extends Packet<?>>
java.lang.Object
com.hierynomus.smbj.transport.tcp.direct.DirectTcpTransport<D,P>
- All Implemented Interfaces:
TransportLayer<P>
public class DirectTcpTransport<D extends PacketData<?>,P extends Packet<?>>
extends Object
implements TransportLayer<P>
A transport layer over Direct TCP/IP.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final PacketHandlers
<D, P> private static final int
private final ReentrantReadWriteLock
private final org.slf4j.Logger
private BufferedOutputStream
private PacketReader
<D> private Socket
private SocketFactory
private int
-
Constructor Summary
ConstructorsConstructorDescriptionDirectTcpTransport
(SocketFactory socketFactory, int soTimeout, PacketHandlers<D, P> handlers) -
Method Summary
Modifier and TypeMethodDescriptionvoid
connect
(InetSocketAddress remoteAddress) Connect to the remote sidevoid
Disconnect from the remote sideprivate void
initWithSocket
(String remoteHostname) boolean
Checks if the transport layer is currently connected.void
setSocketFactory
(SocketFactory socketFactory) void
setSoTimeout
(int soTimeout) void
Write the packet to the transport.private void
writeDirectTcpPacketHeader
(int size) private void
writePacketData
(Buffer<?> packetData)
-
Field Details
-
logger
private final org.slf4j.Logger logger -
handlers
-
lock
-
socketFactory
-
soTimeout
private int soTimeout -
socket
-
output
-
packetReaderThread
-
INITIAL_BUFFER_SIZE
private static final int INITIAL_BUFFER_SIZE- See Also:
-
-
Constructor Details
-
DirectTcpTransport
-
-
Method Details
-
write
Description copied from interface:TransportLayer
Write the packet to the transport.- Specified by:
write
in interfaceTransportLayer<D extends PacketData<?>>
- Parameters:
packet
- The packet to write.- Throws:
TransportException
-
connect
Description copied from interface:TransportLayer
Connect to the remote side- Specified by:
connect
in interfaceTransportLayer<D extends PacketData<?>>
- Parameters:
remoteAddress
- The remote address to connect to- Throws:
IOException
-
initWithSocket
- Throws:
IOException
-
disconnect
Description copied from interface:TransportLayer
Disconnect from the remote side- Specified by:
disconnect
in interfaceTransportLayer<D extends PacketData<?>>
- Throws:
IOException
-
isConnected
public boolean isConnected()Description copied from interface:TransportLayer
Checks if the transport layer is currently connected.- Specified by:
isConnected
in interfaceTransportLayer<D extends PacketData<?>>
-
setSocketFactory
-
setSoTimeout
public void setSoTimeout(int soTimeout) -
writePacketData
- Throws:
IOException
-
writeDirectTcpPacketHeader
- Throws:
IOException
-