Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mookums/tardy
An asynchronous runtime for writing applications and services.
https://github.com/mookums/tardy
async fs net runtime tcp udp zig zig-package zzz
Last synced: 5 days ago
JSON representation
An asynchronous runtime for writing applications and services.
- Host: GitHub
- URL: https://github.com/mookums/tardy
- Owner: mookums
- License: mpl-2.0
- Created: 2024-10-09T21:43:08.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-30T00:25:06.000Z (15 days ago)
- Last Synced: 2024-10-30T02:50:25.114Z (15 days ago)
- Topics: async, fs, net, runtime, tcp, udp, zig, zig-package, zzz
- Language: Zig
- Homepage:
- Size: 174 KB
- Stars: 29
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tardy
Tardy *(def: delaying or delayed beyond the right or expected time; late.)* is an asynchronous runtime for writing applications and services in Zig.
Most of the code for this project originated in [zzz](https://github.com/mookums/zzz), a performance oriented networking framework.- **Performant**: Tardy utilizes the latest Asynchronous APIs while minimizing allocations.
- **Portable**: Tardy natively supports Linux, Mac and Windows. Easy to port through the custom Async I/O system.
- **Scalable**: Tardy uses very little memory initially and can be tuned using various configuration options.## Installing
Tracking Latest Zig Stable: `0.13.0`
```
zig fetch --save git+https://github.com/mookums/tardy#main
```You can then add the dependency in your `build.zig` file:
```zig
const tardy = b.dependency("tardy", .{
.target = target,
.optimize = optimize,
}).module("tardy");exe.root_module.addImport(tardy);
```> [!IMPORTANT]
> Tardy is currently **alpha** software. It's fast and it works but is still experimental!## Features
- Modular Asynchronous Implementation
- `io_uring` for Linux (>= 5.1.0).
- `epoll` for Linux (>= 2.5.45).
- `kqueue` for Darwin & BSD.
- `busy_loop` for Linux, Mac and Windows.
- Single and Multi-threaded Support
- Callbacks on Async I/O events (through `runtime.[net/fs]`)
- Green Threads (through `runtime.spawn`)
- Channels for Asynchronous Communcation across Tasks## Ecosystem
- [zzz](https://github.com/mookums/zzz): a framework for writing performant and reliable networked services.## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tardy by you, shall be licensed as MPL2.0, without any additional terms or conditions.