Package tigase.socks5

Class Socks5IOService<RefObject>

  • All Implemented Interfaces:
    Callable<tigase.net.IOService<?>>, tigase.io.TLSEventHandler, tigase.util.IOListener

    public class Socks5IOService<RefObject>
    extends tigase.net.IOService<RefObject>
    Author:
    andrzej
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Socks5IOService.State
      All possible states of Socks5 connection
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected ReentrantLock transferInProgress  
      • Fields inherited from class tigase.net.IOService

        cb, CERT_CHECK_RESULT, CERT_REQUIRED_DOMAIN, decoder, encoder, HOSTNAME_KEY, LOCAL_CERT_CHECK_RESULT, partialCharacterBytes, PORT_TYPE_PROP_KEY, SESSION_ID_KEY, SSL_PROTOCOLS_KEY
    • Constructor Summary

      Constructors 
      Constructor Description
      Socks5IOService()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean activate()
      Activate service
      tigase.net.IOService<?> call()  
      void forceStop()  
      int getBytesReceived()
      Get all bytes received by this service
      int getBytesSent()
      Get all bytes sent by this service
      tigase.xmpp.jid.JID getJID()
      Returns jid of client connected by this service
      Socks5ConnectionType getSocks5ConnectionType()
      Returns Socks5 connectionType (Requester/Target)
      Socks5IOService.State getState()
      Returns current state of service
      int hashCode()
      Custom hashCode for better distribution Sender and recipient thread should be processed on same thread
      protected void processSocketData()
      Handles data from socket
      void processWaitingPackets()  
      protected ByteBuffer readBytes()  
      protected int receivedPackets()  
      void setConnectionManager​(Socks5ConnectionManager manager)
      Set ConnectionManager
      void setSocks5ConnectionType​(Socks5ConnectionType connectionType)
      Set Socks5 connection type (Requester or Target connection)
      void setStream​(Stream stream)
      Set stream assigned with this service
      boolean waitingToRead()  
      void writeBytes​(ByteBuffer buf)  
      protected void writeData​(String data)  
      • Methods inherited from class tigase.net.IOService

        accept, byteOrder, checkBufferLimit, connectionType, debug, debug, getBuffOverflow, getBytesReceived, getBytesSent, getCertificateContainer, getConnectionId, getDataReceiver, getIO, getLastTransferTime, getLocalAddress, getLocalCertificate, getLocalPort, getPeerCertificate, getReadCounters, getRefObject, getRemoteAddress, getSessionData, getSocketChannel, getSocketInputSize, getStatistics, getTlsUniqueId, getTotalBuffOverflow, getTotalBytesReceived, getTotalBytesSent, getUniqueId, getWriteCounters, handleMalformedInput, handshakeCompleted, isConnected, isInputBufferEmpty, isSocketServiceReady, readCompleted, readData, setBufferLimit, setCertificateContainer, setConnectionId, setDataReceiver, setIOServiceListener, setRefObject, setSessionData, setSocketServiceReady, setSslContextContainer, setX509TrustManagers, startSSL, startTLS, startZLib, stop, toString, waitingToSend, waitingToSendSize
    • Field Detail

      • transferInProgress

        protected final ReentrantLock transferInProgress
    • Constructor Detail

      • Socks5IOService

        public Socks5IOService()
    • Method Detail

      • activate

        public boolean activate()
        Activate service
        Returns:
      • setConnectionManager

        public void setConnectionManager​(Socks5ConnectionManager manager)
        Set ConnectionManager
        Parameters:
        manager -
      • setStream

        public void setStream​(Stream stream)
        Set stream assigned with this service
        Parameters:
        stream -
      • getJID

        public tigase.xmpp.jid.JID getJID()
        Returns jid of client connected by this service
        Returns:
      • getSocks5ConnectionType

        public Socks5ConnectionType getSocks5ConnectionType()
        Returns Socks5 connectionType (Requester/Target)
        Returns:
      • setSocks5ConnectionType

        public void setSocks5ConnectionType​(Socks5ConnectionType connectionType)
        Set Socks5 connection type (Requester or Target connection)
        Parameters:
        connectionType -
      • getBytesReceived

        public int getBytesReceived()
        Get all bytes received by this service
        Returns:
      • getBytesSent

        public int getBytesSent()
        Get all bytes sent by this service
        Returns:
      • processWaitingPackets

        public void processWaitingPackets()
                                   throws IOException
        Specified by:
        processWaitingPackets in class tigase.net.IOService<RefObject>
        Throws:
        IOException
      • waitingToRead

        public boolean waitingToRead()
        Overrides:
        waitingToRead in class tigase.net.IOService<RefObject>
      • writeBytes

        public void writeBytes​(ByteBuffer buf)
        Overrides:
        writeBytes in class tigase.net.IOService<RefObject>
      • forceStop

        public void forceStop()
        Overrides:
        forceStop in class tigase.net.IOService<RefObject>
      • hashCode

        public int hashCode()
        Custom hashCode for better distribution Sender and recipient thread should be processed on same thread
        Overrides:
        hashCode in class Object
        Returns:
      • writeData

        protected void writeData​(String data)
        Overrides:
        writeData in class tigase.net.IOService<RefObject>
      • processSocketData

        protected void processSocketData()
                                  throws IOException
        Handles data from socket
        Specified by:
        processSocketData in class tigase.net.IOService<RefObject>
        Throws:
        IOException
      • receivedPackets

        protected int receivedPackets()
        Specified by:
        receivedPackets in class tigase.net.IOService<RefObject>