Nassau implements NASDAQ transport protocols on the JVM.
You can use Nassau to connect to Nasdaq, EBS, SIX Swiss Exchange, and other network endpoints that use NASDAQ transport protocols. You can also use it to provide your own services using these protocols.
Nassau is designed to exhibit low and predictable latency. To achieve this, it supports non-blocking, zero-copy networking and does not allocate any memory on message reception or transmission. The SoupBinTCP implementation can achieve 4.8 µs round-trip time (RTT) over the loopback interface.
Nassau requires Java Runtime Environment (JRE) 8 or newer.
Nassau implements the following protocols:
NASDAQ SoupBinTCP 3.00: a reliable transport protocol for applications requiring delivery of delimited, sequenced messages between two endpoints.
NASDAQ MoldUDP64 1.00: a reliable transport protocol for applications requiring delivery of delimited, sequenced messages from one sender to many receivers.
NASDAQ BinaryFILE 1.00: a file format for storing delimited messages.
See the Wiki for links to the protocol specifications.
See the latest release on GitHub.
Nassau contains the following libraries:
Core implements the NASDAQ transport protocols.
Utilities contains utility methods for working with NASDAQ transport protocols.
Nassau contains the following applications:
BinaryFILE Recorder records a MoldUDP64 or SoupBinTCP session to a BinaryFILE file.
SoupBinTCP Gateway serves a MoldUDP64 session over the SoupBinTCP protocol.
Nassau contains the following test applications:
SoupBinTCP Performance Test is a simple benchmark for the SoupBinTCP implementation.
BinaryFILE Performance Test is a simple benchmark for the BinaryFILE implementation.
Build Nassau with Maven:
For more information on Nassau:
- Follow @paritytrading on Twitter for news and announcements
- Join paritytrading/chat on Gitter for discussions
Copyright 2014 Jussi Virtanen.
Released under the Apache License, Version 2.0. See
LICENSE.txt for details.