https://github.com/paritytrading/nassau
Fast Nasdaq transport protocol library for the JVM
https://github.com/paritytrading/nassau
binaryfile finance java moldudp64 nasdaq soupbintcp trading
Last synced: 10 months ago
JSON representation
Fast Nasdaq transport protocol library for the JVM
- Host: GitHub
- URL: https://github.com/paritytrading/nassau
- Owner: paritytrading
- License: apache-2.0
- Created: 2014-04-07T20:12:12.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2024-10-22T06:50:30.000Z (over 1 year ago)
- Last Synced: 2024-10-23T09:46:02.537Z (over 1 year ago)
- Topics: binaryfile, finance, java, moldudp64, nasdaq, soupbintcp, trading
- Language: Java
- Homepage:
- Size: 684 KB
- Stars: 100
- Watchers: 17
- Forks: 43
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Nassau
Nassau is a fast Nasdaq transport protocol library for the JVM.
You can use Nassau to connect to [Nasdaq][] and other network endpoints that
use Nasdaq transport protocols. You can also use it to provide your own
services using these protocols.
[Nasdaq]: https://www.nasdaq.com
Nassau is designed to exhibit low and predictable latency. To achieve this, it
supports non-blocking, zero-copy networking and does not allocate memory on
message reception or transmission.
Nassau requires Java Runtime Environment (JRE) 8 or newer.
## Protocols
Nassau implements the following protocols:
- [**SoupBinTCP 3.00**][soupbintcp]: a reliable transport protocol for
applications requiring delivery of delimited, sequenced messages between two
endpoints.
- [**MoldUDP64 1.00**][moldudp64]: a reliable transport protocol for
applications requiring delivery of delimited, sequenced messages from one
sender to many receivers.
- [**BinaryFILE 1.00**][binaryfile]: a file format for storing delimited
messages.
[soupbintcp]: https://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/soupbintcp.pdf
[moldudp64]: https://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/moldudp64.pdf
[binaryfile]: https://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/binaryfile.pdf
## Download
See the [latest release][] on GitHub.
[latest release]: https://github.com/paritytrading/nassau/releases/latest
## Modules
Nassau contains the following libraries:
- [**Core**](libraries/core) implements the Nasdaq transport protocols.
- [**Utilities**](libraries/util) contains utility methods for working with
Nasdaq transport protocols.
Nassau contains the following applications:
- [**BinaryFILE Recorder**](applications/binaryfile-recorder) records a
MoldUDP64 or SoupBinTCP session to a BinaryFILE file.
- [**SoupBinTCP Gateway**](applications/soupbintcp-gateway) serves a MoldUDP64
session over the SoupBinTCP protocol.
Nassau contains the following example applications:
- [**SoupBinTCP Test Server**](examples/soupbintcp-server) implements a simple
SoupBinTCP server.
- [**SoupBinTCP Test Client**](examples/soupbintcp-client) implements a simple
SoupBinTCP client.
Nassau contains the following test application:
- [**BinaryFILE Performance Test**](tests/binaryfile-perf-test) is a simple
benchmark for the BinaryFILE implementation.
## Links
For more information on Nassau:
- Follow [paritytrading@fosstodon.org](https://fosstodon.org/@paritytrading)
on Mastodon for news and announcements
- Join [the community][GitHub Discussions] on GitHub for discussions
[GitHub Discussions]: https://github.com/paritytrading/nassau/discussions
## License
Copyright 2014 Nassau authors.
Released under the Apache License, Version 2.0. See `LICENSE.txt` for details.