Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add UringFiles #30

Open
armanbilge opened this issue Nov 20, 2022 · 1 comment
Open

Add UringFiles #30

armanbilge opened this issue Nov 20, 2022 · 1 comment
Labels
enhancement New feature or request GSoC Google Summer of Code

Comments

@armanbilge
Copy link
Owner

As an implementation of FS2's Files typeclass. io_uring is virtually the only way to do async, non-blocking file I/O, so this is potentially a very interesting offering.

@armanbilge armanbilge added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels Nov 20, 2022
@armanbilge armanbilge added the GSoC Google Summer of Code label Mar 14, 2023
@armanbilge
Copy link
Owner Author

io_uring asynchronous File I/O for Scala Native

Title io_uring asynchronous File I/O for Scala Native
Link to Project https://github.com/armanbilge/fs2-io_uring
Brief Description io_uring is a Linux API for making efficient I/O system calls, and notably enables to do non-blocking, asynchronous file I/O. This is especially interesting for single-threaded runtimes, such as Scala Native.

FS2 is a purely functional, streaming I/O library built on Cats Effect. fs2-io_uring is an implementation of FS2 for Scala Native, based on io_uring. It currently provides APIs for network I/O but does not yet support file I/O.

The goal of this project is to implement the FS2 Files API for Scala Native by using io_uring, and contribute it to the fs2-io_uring project.
Expected Outcome An io_uring Files implementation for FS2 on Scala Native
Prerequisites Scala, ability to read C
Ideal Prerequisites Experience with C, functional programming, Typelevel libraries
Expected Difficulty Medium – doable with high chance of success given creativity and problem-solving skills from the one doing it
Expected Time Commitment Long project – 350 hours
Mentor Arman Bilge (GitHub: @armanbilge, Email: [email protected])

@armanbilge armanbilge removed help wanted Extra attention is needed good first issue Good for newcomers labels Mar 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request GSoC Google Summer of Code
Projects
None yet
Development

No branches or pull requests

1 participant