Skip to content

pandland/pandio

Repository files navigation

⚠️ Early stage of development. Library is still shaping and API is unstable.

banner

Pandio

Simple library for non-blocking I/O operations. Developed mainly for my PandJS project (JavaScript runtime).

Build

Make sure you have CMake installed.

mkdir build
cd build
# inside build dir
cmake ..
# compile with platform's default compiler
cmake --build .

TODO:

  • Timers using heap data structure (works like setTimeout, setInterval).
  • Non-blocking IO for sockets using epoll/kqueue/iocp.
  • Basic networking abstraction to handle TCP.
  • Support Linux.
  • Support Windows.
  • Thread pool.
  • Support BSD/MacOS (tested only on FreeBSD).
  • Signals.
  • Fix tests and GitHub workflows.
  • Async files operations.
  • Better error handling and error reporting to the end-user.

License

Distributed under the MIT License. See LICENSE for more information.