Dynamically control message flow through the adapter using two watchlist streams: market data and order book.
The adapter subscribes, over different transports, to various symbols from available namespaces. The symbol+ namespace+transport triads are called subscription keys. The watchlists map subscription keys to data streams. The watchlist stream names are defined in the adapter configuration file.
The adapter supports group subscriptions for market data. Group subscriptions are identified by a group symbol, and each group symbol is associated with various individual symbols. Data coming on symbols from the same group are stored in the same data stream. Data stream records are keyed by individual symbols. For example, if symbols X1, X2, and X3 are associated with GROUPX, the data records are keyed using X1, X2, and X3 as opposed to GROUPX.
Subscription keys relate to streams as many to one. Subsequently, a subscription key may not target more than one market data stream and one order book stream per side (Buy or Sell). However, a data stream may be targeted by multiple subscription keys. Order book sides (Buy and Sell) may be hosted on the same or separate streams.
Watchlist inserts and deletes are user-controlled, while updates are interpreted as error conditions. The adapter reacts to changes in watchlists as follows:
Insert | Activates subscription to symbol from specified namespace over specified transport. |
Delete | Deactivates subscription. |
Update | Logs an error. Sends an alert to operator (as configured). Continues to send data to old data streams. The valid way to modify the target streams is to shut down and restart the adapter. |