https://github.com/kassane/asio-zig
asio (standalone) event-loop to C API - Experimental (uses zig 0.12.0)
https://github.com/kassane/asio-zig
asio asio-library asynchronous c concurrency cplusplus cpp ffi-bindings threading zig
Last synced: about 2 months ago
JSON representation
asio (standalone) event-loop to C API - Experimental (uses zig 0.12.0)
- Host: GitHub
- URL: https://github.com/kassane/asio-zig
- Owner: kassane
- License: mit
- Created: 2023-06-05T13:12:39.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-25T14:42:13.000Z (5 months ago)
- Last Synced: 2025-03-29T03:04:41.726Z (3 months ago)
- Topics: asio, asio-library, asynchronous, c, concurrency, cplusplus, cpp, ffi-bindings, threading, zig
- Language: C++
- Homepage:
- Size: 29.3 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Asio-zig (C Wrapper) - Event-loop
The wrapper provides functions for initializing the ASIO library, running it, stopping it, and posting tasks to be executed asynchronously within the event-loop. It handles the necessary conversions and memory management required to interface with ASIO from C or Zig code. Additionally, it utilizes ASIO's thread pool (`asio::static_thread_pool`) for multithreading support, allowing tasks to be executed concurrently on multiple threads.
### How to build and run
* Need [zig 0.13.0](https://ziglang.org/download) or master.
```bash
# Zig binding test (only)
$> zig build test# Build all C examples
$> zig build -Doptimize={option} # to debug no need `-Doptimize` flag
```
**Note:** `{option} == Debug (default) | ReleaseSafe | ReleaseFast | ReleaseSmall`