-
Notifications
You must be signed in to change notification settings - Fork 0
Home
michaeldiamant edited this page Jan 2, 2012
·
4 revisions
Arriba is a performant FIX engine implementation that utilizes the Disruptor pattern. FIX protocol handling is separated from the underlying transport layer, which allows transport implementations to be swapped in. Currently, Arriba provides a Netty integration to receive and to transmit FIX messages.
Arriba is not yet feature complete. Here are some high-level features that are required to make Arriba production ready.
- Handle sequence number gaps as per the FIX protocol.
- Detect and properly process (e.g. generate session-level reject) semantically invalid FIX messages.
- Support creating and receiving application-level messages (e.g. business message reject, order cancel-replace request, etc.)
- Create performance test framework to identify bottlenecks.
- Expose application-level callbacks (e.g. onConnect(), onDisconnect()) to support higher-level application development.
Looking past the features needed to push Arriba into a production system, there are features that will make Arriba more performant and simpler to use.
- Replace Netty queues with Disruptor pattern.
- Replace existing hand-generated inbound FIX messages with a simple and flexible Scala-based source code generator.
- Instrument JMX support to monitor Arriba at run-time.
- Expand existing repeating group support (one level) to handle nested repeating groups with constant read-time data structures.