Class RedisSubscribe

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.CleanUpHandler, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.QuickInfoSupporter, adams.core.ShallowCopySupporter<AbstractRatInput>, adams.core.SizeOfHandler, adams.core.Stoppable, adams.core.StoppableWithFeedback, BufferedRatInput, RatInput, Serializable

    public class RedisSubscribe
    extends AbstractBufferedRatInput
    Executes the specified Redis channel.
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Channel

        protected String m_Channel
        the name of the channel to subscribe to.
      • m_Connection

        protected transient RedisConnection m_Connection
        the redis connection to use.
      • m_PubSubConnection

        protected transient io.lettuce.core.pubsub.StatefulRedisPubSubConnection m_PubSubConnection
        the pub/sub connection object.
      • m_PubSubListener

        protected transient io.lettuce.core.pubsub.RedisPubSubListener m_PubSubListener
        the pub/sub listener.
    • Constructor Detail

      • RedisSubscribe

        public RedisSubscribe()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class AbstractBufferedRatInput
      • setChannel

        public void setChannel​(String value)
        Sets the name of the channel.
        Parameters:
        value - the name
      • getChannel

        public String getChannel()
        Returns the name of the channel.
        Returns:
        the name
      • channelTipText

        public String channelTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setType

        public void setType​(RedisDataType value)
        Sets the type of the data.
        Parameters:
        value - the type
      • getType

        public RedisDataType getType()
        Returns the type of the data.
        Returns:
        the type
      • typeTipText

        public String typeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • getQuickInfo

        public String getQuickInfo()
        Returns a quick info about the actor, which will be displayed in the GUI.
        Specified by:
        getQuickInfo in interface adams.core.QuickInfoSupporter
        Overrides:
        getQuickInfo in class AbstractRatInput
        Returns:
        null if no info available, otherwise short string
      • newStringListener

        protected io.lettuce.core.pubsub.RedisPubSubListener<String,​String> newStringListener()
        Returns a new pub/sub listener for strings.
        Returns:
        the listener
      • newBytesListener

        protected io.lettuce.core.pubsub.RedisPubSubListener<byte[],​byte[]> newBytesListener()
        Returns a new pub/sub listener for byte arrays.
        Returns:
        the listener
      • doReceive

        protected String doReceive()
        Performs the actual reception of data.
        Specified by:
        doReceive in class AbstractRatInput
        Returns:
        null if successful, otherwise error message
      • cleanUpRedis

        protected void cleanUpRedis()
        Cleans up the Redis data structures.
      • cleanUp

        public void cleanUp()
        Cleans up data structures, frees up memory.
        Specified by:
        cleanUp in interface adams.core.CleanUpHandler
        Overrides:
        cleanUp in class AbstractBufferedRatInput