nanorq is a compact, performant implementation of the raptorq fountain code capable of reaching multi-gigabit speeds on a single core.
- High-level API
nanorq.habstracts allocation, alignment, and I/O handling from the user. - Low-level API
nanorq_core.hprovides more flexibility and can be used without any libc dependency1, but requires more integration from the user.
Performance2
- firmware deployment / software updates
- video streaming
- large data transfers across high latency links
A helper module under tsnc/ that implements block-based and sliding window network coding, leveraging the optimized primitives used for nanorq.
Some examples are provided:
- Blockchain gossip propagation: Accelerating block synchronization across peer-to-peer gossip networks.
- Multipath recoding: Re-encoding packets at intermediate network hops without full block decoding to maximize throughput.
- Real-time continuous streaming: Utilizing a sliding window mechanism to recover missing stream data with minimal overhead and latency.
