compio v0.8.0 is released!
The largest change is that we split the mono-crate into several small crates. The mono-crate
Link: https://github.com/compio-rs/compio/releases/tag/v0.8.0
The largest change is that we split the mono-crate into several small crates. The mono-crate
compio
is still published, as an re-export of the other crates.Link: https://github.com/compio-rs/compio/releases/tag/v0.8.0
GitHub
Release v0.8.0 · compio-rs/compio
What's Changed
Refactor: transform to workspace structure by @George-Miao in #69
Separate Buf crate by @George-Miao in #72
fix: use arrayvec from compio-buf by @George-Miao in #74
Remove buffe...
Refactor: transform to workspace structure by @George-Miao in #69
Separate Buf crate by @George-Miao in #72
fix: use arrayvec from compio-buf by @George-Miao in #74
Remove buffe...
compio v0.9.0-beta.1 is released!
In this version, 41 PR’s has been merged into the master branch, 3 contributors made their first contribution. Congrats! Currently compio v0.9 is still in beta, mainly because it uses AFIT and RPITIT, which require nightly toolchain for now, but will be available to stable in the coming rust 1.75. Thanks to these newly stabilized features, we can refactor our buffer traits in
Major Changes:
- Starting from v0.9, the behavior of
- A fusion driver has been added for Linux platform. You can enable it by enabling both
- We add compio-dispatcher to manage multi-threaded workers equipped with
For more information and changes, checkout the release note.
In this version, 41 PR’s has been merged into the master branch, 3 contributors made their first contribution. Congrats! Currently compio v0.9 is still in beta, mainly because it uses AFIT and RPITIT, which require nightly toolchain for now, but will be available to stable in the coming rust 1.75. Thanks to these newly stabilized features, we can refactor our buffer traits in
compio-buf
, and add new IO traits in compio-io
.Major Changes:
- Starting from v0.9, the behavior of
read
-like methods is changed. They now write to the beginning of initialized area of buffers.- A fusion driver has been added for Linux platform. You can enable it by enabling both
io-uring
and polling
feature. It will select the proper driver automatically.- We add compio-dispatcher to manage multi-threaded workers equipped with
compio-runtime
. It is helpful in cases where multithreading is desirable. Consider the case of writing a server: you can accept a TCP connection in the main thread, and send it to worker threads to handle the request.For more information and changes, checkout the release note.
GitHub
Release v0.9.0-beta.1 · compio-rs/compio
What's Changed
Pop the op later. by @Berrysoft in #85
Implement IoBuf for Box<[u8]> by @George-Miao in #87
Add a multi-threading dispatcher by @Berrysoft in #86
Check and renew fd in pol...
Pop the op later. by @Berrysoft in #85
Implement IoBuf for Box<[u8]> by @George-Miao in #87
Add a multi-threading dispatcher by @Berrysoft in #86
Check and renew fd in pol...
Compio v0.9.0 is released! (sorry it's late for 2 weeks)
Release Note | Change Log
The looooong waited v0.9 stable release is finally here! This is the single largest release we've ever made: compared to 0.8.0, 88 PR's has been merged into master branch, and 6 contributors made their first contribution. Thanks to you all!
Major changes:
* compio-buf: traits are refactored with RPITIT. The behavior of read-like methods is changed. They now write to the beginning of initialized area of buffers.
* compio-io: Added IO traits with compatability features to interop with other libs (like futures and tokio).
* compio-driver:
* Fusion driver for Linux: Select the proper driver automatically during runtime. Enabled by toggling on both io-uring and polling driver.
* Global IOCP for Windows: When enabled, all IO resources can be sent to other threads even the original thread is not running.
* Notify handle to wake up the proactor.
* io-uring driver: Now supports 128-bit SQE and CQE.
* compio-runtime:
* New spawn_blocking method: Spawns the blocking task to another thread and wait.
* Low-level controlling APIs: Users can now implement their own block_on with customized logic.
* Event is refactored and implemented with AtomicWaker.
* Runtime can be waken from other threads now.
* compio-fs:
* Async metadata.
* Standard IO (Std in/out/err).
* Requires compio-runtime now
* compio-net:
* Async DNS resolve. It uses spawn_blocking on Unix and GetSockAddrInfoExW on Windows.
* Async Unix socket connect.
* Split reader & writer.
* Requires compio-runtime now
* compio-signal:
* The signal handler is async-handler safe on Unix.
* compio-tls: New. Provides native-tls and rustls support.
* compio-dispatcher: Manage and spawn tasks to multi-threaded workers equipped with compio-runtime. Helpful in cases where multithreading is desirable. May require iocp-global feature of compio-driver on Windows.
Release Note | Change Log
The looooong waited v0.9 stable release is finally here! This is the single largest release we've ever made: compared to 0.8.0, 88 PR's has been merged into master branch, and 6 contributors made their first contribution. Thanks to you all!
Major changes:
* compio-buf: traits are refactored with RPITIT. The behavior of read-like methods is changed. They now write to the beginning of initialized area of buffers.
* compio-io: Added IO traits with compatability features to interop with other libs (like futures and tokio).
* compio-driver:
* Fusion driver for Linux: Select the proper driver automatically during runtime. Enabled by toggling on both io-uring and polling driver.
* Global IOCP for Windows: When enabled, all IO resources can be sent to other threads even the original thread is not running.
* Notify handle to wake up the proactor.
* io-uring driver: Now supports 128-bit SQE and CQE.
* compio-runtime:
* New spawn_blocking method: Spawns the blocking task to another thread and wait.
* Low-level controlling APIs: Users can now implement their own block_on with customized logic.
* Event is refactored and implemented with AtomicWaker.
* Runtime can be waken from other threads now.
* compio-fs:
* Async metadata.
* Standard IO (Std in/out/err).
* Requires compio-runtime now
* compio-net:
* Async DNS resolve. It uses spawn_blocking on Unix and GetSockAddrInfoExW on Windows.
* Async Unix socket connect.
* Split reader & writer.
* Requires compio-runtime now
* compio-signal:
* The signal handler is async-handler safe on Unix.
* compio-tls: New. Provides native-tls and rustls support.
* compio-dispatcher: Manage and spawn tasks to multi-threaded workers equipped with compio-runtime. Helpful in cases where multithreading is desirable. May require iocp-global feature of compio-driver on Windows.
GitHub
Release v0.9.0 · compio-rs/compio
compio 0.9.0 is released!
Compared to 0.8.0, 88 PR's has been merged into master branch, and 6 contributors made their first contribution. Thanks to you all!
What's Changed
compio-buf:
Tr...
Compared to 0.8.0, 88 PR's has been merged into master branch, and 6 contributors made their first contribution. Thanks to you all!
What's Changed
compio-buf:
Tr...
Today, April 1st, we would like to announce a new crate:
Write GUI with
Check the source code for detail.
winio
, a single-threaded asynchronous GUI runtime. It is based on compio
, and is cross-platform utilizing Win32, GTK4 and Cocoa.Write GUI with
winio
, and never block the user interface with IO requests in the same thread! Hooray!Check the source code for detail.
GitHub
GitHub - compio-rs/winio: Single-threaded asynchronous GUI runtime
Single-threaded asynchronous GUI runtime. Contribute to compio-rs/winio development by creating an account on GitHub.
Compio v0.13.1 is released!
Release Note | Change Log
We made huge progresses in this release. 38 PR's has been merged into master branch. Thanks to you all!
Major changes:
* compio-buf: support for smallvec
* compio-io: fix behavior of
* compio-driver:
* Wait packet for Windows: wait for Win32 event object without spawning a thread pool.
* POSIX AIO support on FreeBSD, Illumos and Solaris.
* compio-runtime: fix memory leak caused by reference cycle.
* And other bug fixes!
Official website
Our official website is online!
Async IO, Completed.
Release Note | Change Log
We made huge progresses in this release. 38 PR's has been merged into master branch. Thanks to you all!
Major changes:
* compio-buf: support for smallvec
* compio-io: fix behavior of
copy
* compio-driver:
* Wait packet for Windows: wait for Win32 event object without spawning a thread pool.
* POSIX AIO support on FreeBSD, Illumos and Solaris.
* compio-runtime: fix memory leak caused by reference cycle.
* And other bug fixes!
Official website
Our official website is online!
Async IO, Completed.
GitHub
Release v0.13.1 · compio-rs/compio
What's Changed
fix(runtime): forget op if no current runtime by @Berrysoft in #338
Add support for smallvec by @George-Miao in #341
build: update flake by @George-Miao in #342
fix(poll): renew...
fix(runtime): forget op if no current runtime by @Berrysoft in #338
Add support for smallvec by @George-Miao in #341
build: update flake by @George-Miao in #342
fix(poll): renew...