StreamLink is an API that allows an application to exchange real-time financial data and trade messages with Caplin Liberator servers via the Web or other TCP/IP network.

It provides the following capabilities:

  • Record Subscriptions (including type2 and type 3 data).
  • Container subscriptions.
  • Directory subscriptions.
  • Permission subscriptions.
  • Chat subscriptions.
  • News headline and news story subscriptions.
  • Connection status notification.
  • Reconnection and failover.
  • Publishing data to subjects.
  • Creating and deleting objects on the Liberator.
  • Throttling of individual subjects.
  • Throttling of the entire session.

Getting Started

It is recommended that you read the Caplin StreamLink Overview to gain understanding of:

  • What StreamLink is and how it can be used.
  • Fundamental StreamLink concepts & features.
  • How StreamLink can integrate with your own client application software to provide a streaming data display and support online trading of financial instruments.

Subscribing to data and receiving updates

To subscribe to data and receive updates to the data you need to:
  • implement (code) some interfaces from the API User Layer,
  • call various methods from the API User Layer to connect to a Liberator and set up the subscription.

Handling responses

The API operates asynchronously. This means that when the client application code issues a subscription request or a command to StreamLink, the response is not returned immediately through the method used to issue the request or command. Instead, you must set up a listener object (SubscriptionListener). You then supply this listener to StreamLink. StreamLink calls the appropriate callback method(s) on the listener object to communicate data and command responses back to the client code.

Implementing interfaces

Much of the StreamLink API is defined as interfaces. You must implement some of the interfaces in order use StreamLink. These implementations effectively integrate StreamLink with your client application. There are also protocols with implementations that are built into the API, so in these cases you do not need to write your own.

Note:The description of each interface states if you must implement it before use.

As a minimum you need to implement the SubscriptionListener interface. StreamLink calls your SubscriptionListener implementation to deal with events concerning subscriptions to data.

You should also implement the ConnectionListener interface if you want to provide users of your application with information about the state of the connection.

Packages 
Package Description
com.caplin.streamlink
The interfaces within this package provide the functionality of StreamLink.
com.caplin.streamlink.alerts
The interfaces within this package provide the functionality of Triggers and Notifications.