Lindenii Project Forge
Login

hare-aio

Asynchronous I/O event loops for Hare

Hi… I am well aware that this diff view is very suboptimal. It will be fixed when the refactored server comes along!

Commit info
ID
27a0a32542543def1ed38c812bdc50a3fec5f0a8
Author
Runxi Yu <me@runxiyu.org>
Author date
Wed, 01 Oct 2025 01:46:23 +0800
Committer
Runxi Yu <me@runxiyu.org>
Committer date
Wed, 01 Oct 2025 01:46:23 +0800
Actions
README update
# hare-aio – asynchronous event loop

Currently, this is an experiment that seeks to see what ergonomic asynchronous
I/O mechanisms are viable, in particular for truly asynchronous APIs such as
`io_uring` on Linux. General users who prefer `epoll`-based event loops should
consider using [hare-ev](https://git.sr.ht/~sircmpwn/hare-ev) instead.
This project seeks to develop an asynchronous event loop API.

It is designed to backed by `io_uring` rather than `epoll`; however, when BSD
support is added, we'd probably still use `kqueue`.

Most users should consider using [hare-ev](https://git.sr.ht/~sircmpwn/hare-ev)
instead, since it is more mature and less prone to breakages.

## Acknowedgements

Some of the following projects provided inspiration, some we just lifted code
from:

* [hare-ev](https://git.sr.ht/~sircmpwn/hare-ev)
* [hare-iobus](https://git.sr.ht/~sircmpwn/hare-iobus)
* [hare-linux](https://git.sr.ht/~sircmpwn/hare-linux)
* [toothbrush](https://git.sr.ht/~sircmpwn/toothbrush)

## Contributing

Create a branch that begins with `contrib/` and push to the
[main repo](https://forge.lindenii.org/hare/:/repos/hare-aio/)
via SSH directly.

```
git clone ssh://forge.lindenii.org/hare/:/repos/hare-aio/
cd hare-aio
git checkout -b contrib/whatever
# edit and commit stuff
git push -u origin HEAD
```

## Support

[`#chat`](https://webirc.runxiyu.org/gamja/#chat)
on
[irc.runxiyu.org](https://irc.runxiyu.org/).