...
JSE defines a set of per day limits for operations on the Replay and Recovery channels. If any of the limits is exceeded within the day the a recipient’s account is locked.
...
Two sets of interfaces are exposed to the a client.
One set abstracts the client from MilleniumIT Market Data Adaptor implementation.
...
The other set abstracts MilleniumIT Market Data Adaptor from connectivity implementation. The A client can supply its own connectivity implementation. If not supplied by the a client the default implementation based on Boost.Asio is created and used by MilleniumIT Market Data Adaptor.
...
Application stores services and provides access to them by index and by name. Application also stores resources shared across services such as a connection manager.
It is possible to have several applications created at the same time. The A client can choose to have either a single application for all the services of all the market feeds or have a separate application for each service. All the IO operations of all the services of an application are processed by the same connection manager. A The typical solution is to have a dedicated application for each market feed (LSE, JSE, NSX).
...
FAST service is a specialized service that processes FAST specific tasks such as FAST message decoding, FAST message replay, FAST message recovery, password change.
FAST service implements the standard sequence processing policy based on field ApplSeqNum (1181).
...
FAST instrument service is a specialized FAST service that implements per-instrument sequence processing policy based on the field RptSeq (83).
FAST instrument service accepts only non-instrument messages by default. The A client should specify the instruments of interest.
...
In the unlikely event an ITCH message cannot be converted to the FIX message (e.g. undocumented field value) the entire binary ITCH message is wrapped into a FIX message and passed to the a client.
ITCH Parser
ITCH parser defines structures for ITCH units and messages and general purpose functions to construct, parse, validate and dump ITCH units and messages.
...
Two types of service statistics are maintained - connection statistics and date statistics.
The connection Connection statistics is reset on each after every service connect operation.
The date Date statistics is persisted and is reset on each every new date. The The date statistics is checked against the JSE day limits to prevent the an account from locking on the JSE side.
...
Replay channel is considered inactive if the last replay procedure failed. If there are no gaps detected within the certain certain time interval the Replay channel is probed to check the password status and update the Replay channel status.
...
It is possible to specify separate username / password for each service.
The passwords Passwords are managed by MilleniumIT Market Data Adaptor automatically. A password is changed either on an explicit client request or when the server reports the password is about to expire about a password expiration within a specified time. The new password is either specified by the client explicitly or generated by MilleniumIT Market Data Adaptor automatically.
...
JSE emulator emulates the JSE Replay and Recover channels by listening to TCP sockets and responding to the a recipient's replay and recovery requests.
...