<div align="center">
<a href='https://compio.rs'>
<img height="150" src="https://github.com/compio-rs/compio-logo/raw/refs/heads/master/generated/colored-with-text.svg">
</a>
</div>
---
# compio-buf
[](https://github.com/compio-rs/compio/blob/master/LICENSE)
[](https://crates.io/crates/compio-buf)
[](https://docs.rs/compio-buf)
[](https://github.com/compio-rs/compio/actions/workflows/ci_check.yml)
[](https://github.com/compio-rs/compio/actions/workflows/ci_test.yml)
Buffer traits for completion-based async IO.
This crate provides fundamental buffer traits (`IoBuf`, `IoBufMut`, `IoVectoredBuf`, `IoVectoredBufMut`) to interact with compio (and other runtimes). The crate itself is runtime-agnostic and can be used anywhere.
## Usage
### For application
Use `compio::buf` re-exported from `compio` crate, then use the buffer traits in your application:
```rust
use compio::buf::{IoBuf, IoBufMut};
```
### For library
If you are writing libraries that want to support compio-buf, you can depend on this crate directly:
```bash
cargo add compio-buf
```
Then you can use the buffer traits in your library:
```rust
use compio_buf::{IoBuf, IoBufMut};
```