Message Flow

The message flow between the adapter and any Flex client is initiated when the client sends a subscribe request indicating the stream name and a column filter (optional).


SubscriptionRequest

Ensure the request uses this format:

<subscribe stream="MyStream" myFilterColumn1="MyRegex1" .../>

Ensure the filtered columns are string datatypes. Regular expressions are accepted as column values. For example, as a result of the following request, the client receives all records on the MarketData stream in which the Symbol begins with the capital letter ā€œIā€:

<subscribe stream="MarketData" Symbol="I.*"/>

The records returned to the clients have this format:

<MyStream ESP_OPS="i" myColumn1="MyValue1" myColumn2="MyValue2" .../>

where ESP_OPS is the record opcode. The valid opcode values are "i" (INSERT), "u" (UPDATE), "d" (DELETE), and "p" (UPSERT). All columns with non-null values are included, regardless of the opcode. Null column values are ignored.


RecordToClient

To unsubscribe from a previously subscribed stream, the client sends a request using this format:

<unsubscribe stream="MyStream"/>

The client can subscribe concurrently to any number of different streams. To change the column filter values, unsubscribe from the stream first, then subscribe with the new filter.

In the event of an Event Stream Processor failover, the SDK API switches to the spare Event Stream Processor instance without message loss.