Class DirectTcpTransport<D extends PacketData<?>,​P extends Packet<?>>

    • Field Detail

      • logger

        private final org.slf4j.Logger logger
      • lock

        private final java.util.concurrent.locks.ReentrantReadWriteLock lock
      • socketFactory

        private javax.net.SocketFactory socketFactory
      • soTimeout

        private int soTimeout
      • socket

        private java.net.Socket socket
      • output

        private java.io.BufferedOutputStream output
    • Constructor Detail

      • DirectTcpTransport

        public DirectTcpTransport​(javax.net.SocketFactory socketFactory,
                                  int soTimeout,
                                  PacketHandlers<D,​P> handlers)
    • Method Detail

      • connect

        public void connect​(java.net.InetSocketAddress remoteAddress)
                     throws java.io.IOException
        Description copied from interface: TransportLayer
        Connect to the remote side
        Specified by:
        connect in interface TransportLayer<D extends PacketData<?>>
        Parameters:
        remoteAddress - The remote address to connect to
        Throws:
        java.io.IOException
      • initWithSocket

        private void initWithSocket​(java.lang.String remoteHostname)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • disconnect

        public void disconnect()
                        throws java.io.IOException
        Description copied from interface: TransportLayer
        Disconnect from the remote side
        Specified by:
        disconnect in interface TransportLayer<D extends PacketData<?>>
        Throws:
        java.io.IOException
      • setSocketFactory

        public void setSocketFactory​(javax.net.SocketFactory socketFactory)
      • setSoTimeout

        public void setSoTimeout​(int soTimeout)
      • writePacketData

        private void writePacketData​(Buffer<?> packetData)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • writeDirectTcpPacketHeader

        private void writeDirectTcpPacketHeader​(int size)
                                         throws java.io.IOException
        Throws:
        java.io.IOException