Class AbstractGuacamoleTunnel

  • All Implemented Interfaces:
    GuacamoleTunnel
    Direct Known Subclasses:
    SimpleGuacamoleTunnel

    public abstract class AbstractGuacamoleTunnel
    extends Object
    implements GuacamoleTunnel
    Base GuacamoleTunnel implementation which synchronizes access to the underlying reader and writer with reentrant locks. Implementations need only provide the tunnel's UUID and socket.
    • Constructor Detail

      • AbstractGuacamoleTunnel

        public AbstractGuacamoleTunnel()
        Creates a new GuacamoleTunnel which synchronizes access to the Guacamole instruction stream associated with the underlying GuacamoleSocket.
    • Method Detail

      • acquireReader

        public GuacamoleReader acquireReader()
        Acquires exclusive read access to the Guacamole instruction stream and returns a GuacamoleReader for reading from that stream.
        Specified by:
        acquireReader in interface GuacamoleTunnel
        Returns:
        A GuacamoleReader for reading from the Guacamole instruction stream.
      • releaseReader

        public void releaseReader()
        Relinquishes exclusive read access to the Guacamole instruction stream. This function should be called whenever a thread finishes using a GuacamoleTunnel's GuacamoleReader.
        Specified by:
        releaseReader in interface GuacamoleTunnel
      • hasQueuedReaderThreads

        public boolean hasQueuedReaderThreads()
        Returns whether there are threads waiting for read access to the Guacamole instruction stream.
        Specified by:
        hasQueuedReaderThreads in interface GuacamoleTunnel
        Returns:
        true if threads are waiting for read access the Guacamole instruction stream, false otherwise.
      • acquireWriter

        public GuacamoleWriter acquireWriter()
        Acquires exclusive write access to the Guacamole instruction stream and returns a GuacamoleWriter for writing to that stream.
        Specified by:
        acquireWriter in interface GuacamoleTunnel
        Returns:
        A GuacamoleWriter for writing to the Guacamole instruction stream.
      • releaseWriter

        public void releaseWriter()
        Relinquishes exclusive write access to the Guacamole instruction stream. This function should be called whenever a thread finishes using a GuacamoleTunnel's GuacamoleWriter.
        Specified by:
        releaseWriter in interface GuacamoleTunnel
      • hasQueuedWriterThreads

        public boolean hasQueuedWriterThreads()
        Description copied from interface: GuacamoleTunnel
        Returns whether there are threads waiting for write access to the Guacamole instruction stream.
        Specified by:
        hasQueuedWriterThreads in interface GuacamoleTunnel
        Returns:
        true if threads are waiting for write access the Guacamole instruction stream, false otherwise.
      • isOpen

        public boolean isOpen()
        Description copied from interface: GuacamoleTunnel
        Returns whether this GuacamoleTunnel is open, or has been closed.
        Specified by:
        isOpen in interface GuacamoleTunnel
        Returns:
        true if this GuacamoleTunnel is open, false if it is closed.