Skip to content

Files

Latest commit

9497784 · Jan 5, 2025

History

History

src

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 26, 2023
Nov 21, 2024
Jun 23, 2024
Dec 16, 2022
Jun 15, 2024
Oct 19, 2024
Feb 10, 2024
Jan 5, 2025
Feb 25, 2022
Dec 16, 2022
May 15, 2024
Feb 23, 2024

felspar-io Implementation

The contains three implementations:

  • POSIX using poll
  • Windows using WSAPoll
  • Linux's io_uring

The poll and WSAPoll are similar, but not identical. The main part of the implementation is in:

  • poll.hpp -- Common header containing completion tracking and common retry and cancellation code.
  • poll.iops.cpp -- Implementation of the individual IOP APIs.
  • poll.warden.cpp -- Implementation of the poll loop itself together with other code needed to have everything work.

The differences between poll and WSAPoll are handled through #if blocks.

There is a separate implementation io_uring in the following files:

Other files

  • convenience.cpp -- Contains a few helpers.
  • posix.cpp -- Contains wrappers for some common POSIX APIs.
  • tls.cpp -- Contains an implementation of TLS using OpenSSL.
  • warden.cpp -- Common warden code (creating sockets and pipes).