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 intprivate final ReentrantReadWriteLockprivate final org.slf4j.Loggerprivate BufferedOutputStreamprivate PacketReader<D> private Socketprivate SocketFactoryprivate int -
Constructor Summary
ConstructorsConstructorDescriptionDirectTcpTransport(SocketFactory socketFactory, int soTimeout, PacketHandlers<D, P> handlers) -
Method Summary
Modifier and TypeMethodDescriptionvoidconnect(InetSocketAddress remoteAddress) Connect to the remote sidevoidDisconnect from the remote sideprivate voidinitWithSocket(String remoteHostname) booleanChecks if the transport layer is currently connected.voidsetSocketFactory(SocketFactory socketFactory) voidsetSoTimeout(int soTimeout) voidWrite the packet to the transport.private voidwriteDirectTcpPacketHeader(int size) private voidwritePacketData(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:TransportLayerWrite the packet to the transport.- Specified by:
writein interfaceTransportLayer<D extends PacketData<?>>- Parameters:
packet- The packet to write.- Throws:
TransportException
-
connect
Description copied from interface:TransportLayerConnect to the remote side- Specified by:
connectin interfaceTransportLayer<D extends PacketData<?>>- Parameters:
remoteAddress- The remote address to connect to- Throws:
IOException
-
initWithSocket
- Throws:
IOException
-
disconnect
Description copied from interface:TransportLayerDisconnect from the remote side- Specified by:
disconnectin interfaceTransportLayer<D extends PacketData<?>>- Throws:
IOException
-
isConnected
public boolean isConnected()Description copied from interface:TransportLayerChecks if the transport layer is currently connected.- Specified by:
isConnectedin interfaceTransportLayer<D extends PacketData<?>>
-
setSocketFactory
-
setSoTimeout
public void setSoTimeout(int soTimeout) -
writePacketData
- Throws:
IOException
-
writeDirectTcpPacketHeader
- Throws:
IOException
-