Skip to content

yannickloth/pragmatica

 
 

Repository files navigation

GitHub stars GitHub forks GitHub watchers GitHub followers

GitHub repo size GitHub language count GitHub top language GitHub last commit

Pragmatica - Pragmatic Functional Java Essentials & Modern Asynchronous I/0

Pragmatica is a set of necessary libraries to write Java application in a modern style. At present, it consists of the following components:

  • Pragmatica Core - minimal set of classes for Pragmatic Functional Java style.
  • Proactor - implementation of the low level infrastructure for fast task scheduler and io_uring - based asynchronous I/O.
  • Async I/O - implementation of Promise-based asynchronous API and basic utility classes.

Together these libraries provide all basic components necessary for completely asynchronous I/O operations, including network communication and file processing.

At present Pragmatica does not have higher level elements like support for SSL/TLS or HTTP protocol.

Only minimal set of I/O operations is supported at the moment. Support for remaining operations available via io_uring API is planned for next releases.

Additional Sources of Information

Beside Pragmatic Functional Java following articles might help to understand motivation and various elements of the whole approach.

Requirements

  • Pragmatica uses Java 17. There are no plans to support older versions of Java.
  • Pragmatica Core has no specific requirements.
  • Pragmatica Proactor and Pragmatica Async I/O components require Linux kernel version at least 5.6. Best results could be achieved with kernel versions 5.16 and up. Other operating systems are not supported and there are no plans for such a support.

Note that if you want/need to use other operating system to work on Pragmatica code or build binaries, you can use Pragmatica Builder Image.

About

Pragmatic Functional Java Essentials

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.1%
  • Other 0.9%