Skip to content

agnivade/frodo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

frodo

A quick POC to play with io_uring APIs using Go.

Overview

Frodo deliberately keeps the API dead simple. Because he does not want the ring to fall into the wrong hands. It just exposes 2 very simple ReadFile and WriteFile functions which are akin to the ioutil family of functions. These calls just push an entry to the submission queue. To allow the user to control when to submit the queue, a Poll function is provided.

The Poll function will submit the queue and wait for all the entries to appear in the completion queue. Dive into the code to know more :)

For an overall explanation of the subject matter, please read: https://developers.mattermost.com/blog/hands-on-iouring-go.

For a more detailed background, please read: https://kernel.dk/io_uring.pdf.

Pre-requisites

  • Install liburing in your machine from latest master. (https://github.com/axboe/liburing/)
  • You need to have a modern (>=5.3) Linux kernel. It may work on older kernels too. But I have not tested it.

Getting started

See the docs page to get started.

About

Demo API to play with io_uring in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published