packio
libev
Our great sponsors
packio | libev | |
---|---|---|
2 | 4 | |
119 | 1,540 | |
- | - | |
2.2 | 0.0 | |
26 days ago | over 3 years ago | |
C++ | C | |
Mozilla Public License 2.0 | BSD-2-Clause |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
packio
-
Asio is great if you’re building a library/application with non-Asio API. But building Asio APIs using async compositions is too messy. Anybody else agree ?
That's not even helpful, as you usually read/write using composed ops and they will interleave anyway. To have an io object that's capable of correctly pipelining multiple concurrent write- or read-operations, you need a custom strand like this: https://github.com/qchateau/packio/blob/master/include/packio/internal/manual_strand.h
-
Looking for remote procedure call (RPC) library
packio, it's an async msgpack-rpc or json-rpc library based on boost.asio
libev
-
Polyphony: Fine-Grained Concurrency for Ruby
Thank you for this.
I am interested in how concurrency can be represented elegantly and efficiently, so I am interested in how libraries can simplify async and make it easier to reason about and write
The libev and ioring support is great for IO scalability (https://github.com/enki/libev not sure if this is the official repo)
In Python I use the "select" module and use epoll on Linux.
I am currently thinking of designing an API that allows the registration of epoll-like listeners to arbitrary objects, including business objects, so you can efficiently register a listener on multiple behaviours of multiple arbitrary objects.
I wrote an async/await simulation in Java and my scheduler is really simple, it's just a for loop that checks to see if there are any tasks that can progress. I notice the switch_fiber in polyphony must do something similar. This is similar to a yield in a coroutine.
My async/await simulation takes the following program:
task1:
- Ship it!
-
C in Web Dev
Also, libev
-
Ideas, thoughts, and notes on an action based polymorphism pattern for C
It's done even now. See ev.h where they do this. Just that you disable GCC's aliasing warning. There's a reason why restrict and aliasing became important to deal with. It wasn't standards that killed it.
What are some alternatives?
libjson-rpc-cpp - C++ framework for json-rpc (json remote procedure call)
libuv - Cross-platform asynchronous I/O
libevent - Event notification library
Boost.Asio - Asio C++ Library
Dasynq - Thread-safe cross-platform event loop library in C++
C++ Actor Framework - An Open Source Implementation of the Actor Model in C++
lev - Lightweight C++ wrapper for LibEvent 2 API
asyncio - asyncio is a c++20 library to write concurrent code using the async/await syntax.
zab - C++20 liburing backed coroutine executor and event loop framework.
uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!