Skip to content

CharlieTap/koru

Repository files navigation

Kotlin Native liburing bindings


This repository provides 1:1 bindings with the liburing api, abstracting away the pointers, structs and ffi interactions and replacing them with a kotlin friendly interface. The library is designed to provide a playground for liburing, for most liburing api calls you will find a kotlin function equivalent, for example:

Given the liburing call

io_uring_queue_init()

You'll find both a functional interface to program against and a function implementing the said interface.

fun interface InitRing: (RingEntries, RingConfiguration?) -> InitRingResult

fun initRing(
entries: RingEntries,
configuration: RingConfiguration? = null,
)

Note

This library is not intended for production use. Whilst iouring/liburing provides the most performant io interface for linux, using these bindings will likely result in suboptimal performance. Kotlin is not a systems language, the overhead of managing the ring, queues and their entries inside of Kotlin is expensive.

About

Kotlin Native liburing bindings

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published