Package com.caplin.streamlink
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
Modifier and TypeMethodDescriptionvoid
Closes the channel to the Liberator.Returns the subject name to which the channel relates.void
send
(Map<String, String> fields, CommandListener commandListener) Sends fields to the channel subjectvoid
sendWithFieldList
(List<STuple> fields, CommandListener commandListener) Sends fields to the channel subject allowing for a field to be repeatedly specified in the same message.
-
Method Details
-
getSubject
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
Sends fields to the channel subject- Parameters:
fields
- the fields to sendcommandListener
- optional callback for command completion (can set to null).
-
sendWithFieldList
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).
-