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, partialCharacterBytes, PORT_TYPE_PROP_KEY, SESSION_ID_KEY, SSL_PROTOCOLS_KEY
    • Constructor Summary

      Constructors 
      Constructor Description
      Socks5IOService()  
    • 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 getJID()
        Returns jid of client connected by this service
        Returns:
      • setSocks5ConnectionType

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

        public Socks5ConnectionType getSocks5ConnectionType()
        Returns Socks5 connectionType (Requester/Target)
        Returns:
      • 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>
      • writeData

        protected void writeData​(String data)
        Overrides:
        writeData 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:
      • 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>