A library for working with common Input/Output routes and providing better utilities for Java's I/O streams.
<repository>
<id>kenzie</id>
<name>Kenzie's Repository</name>
<url>https://repo.kenzie.mx/releases</url>
</repository>
<dependency>
<groupId>mx.kenzie</groupId>
<artifactId>jupiter</artifactId>
<version>1.0.2</version>
</dependency>
Jupiter provides a set of utilities for working with streams and channels, to make integrating them easier and to reduce the amount of necessary boilerplate for common tasks.
These utilities include:
- Synchronization locks for streams (where multithreaded access would normally be dangerous)
- Stream controllers that can perform simple conversion tasks
- Forking, locking and wrapping streams with automatic resource disposal
- Lazy iteration of stream data to avoid messy while-loops
- Stream data directly in and out of heap memory
There are also more advanced utilities for handling complex socket connections.
The SocketPair
provides a smart two-way socket channel between two known addresses with automatic host/guest deference.
The SocketHub
provides a fluid-size socket network connection for organising channels between an unknown set of guests.