Interface Channel


  • public interface Channel

    Represents a channel to a subject on the Liberator.

    A Channel provides a bi-directional communication channel between a StreamLink application and a DataSource adapter. Using a Channel in both DataSource and StreamLink provides a simplified method of communication between the two components and can allow you just to use the Caplin platform as a bi-directional messaging pipe.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void closeChannel()
      Closes the channel to the Liberator.
      java.lang.String getSubject()
      Returns the subject name to which the channel relates.
      void send​(java.util.Map<java.lang.String,​java.lang.String> fields, CommandListener commandListener)
      Sends fields to the channel subject
      void sendWithFieldList​(java.util.List<STuple> fields, CommandListener commandListener)
      Sends fields to the channel subject allowing for a field to be repeatedly specified in the same message.
    • Method Detail

      • getSubject

        java.lang.String getSubject()
        Returns the subject name to which the channel relates.
        Returns:
        The subject of this channel.
      • closeChannel

        void closeChannel()
        Closes the channel to the Liberator. This will result in a corresponding call to onChannelClose declared in ChannelListener on the DataSource. The delay before onChannelClose is called is defined by the Liberator configuration item, active-discard-timeout.
      • send

        void send​(java.util.Map<java.lang.String,​java.lang.String> fields,
                  CommandListener commandListener)
        Sends fields to the channel subject
        Parameters:
        fields - the fields to send
        commandListener - optional callback for command completion (can set to null).
      • sendWithFieldList

        void sendWithFieldList​(java.util.List<STuple> fields,
                               CommandListener commandListener)
        Sends fields to the channel subject allowing for a field to be repeatedly specified in the same message.
        Parameters:
        fields - the fields to send. Note: for Javascript this should be a JSON object of the form [{field1:"value1"}, {field2:"value2"}, {field3:"value3"}]
        commandListener - optional callback for command completion (can set to null).