MCPcopy Index your code
hub / github.com/asomers/tokio-file

github.com/asomers/tokio-file @v0.11.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.11.0 ↗ · + Follow
29 symbols 61 edges 6 files 7 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

tokio-file

A library for integrating file I/O with tokio. File I/O can be seamlessly mixed with all other Future types within the Tokio reactor.

Build Status Crates.io

Documentation

# Cargo.toml
[depdendencies]
tokio = "1.0.0"
tokio-file = "0.10.0"

Usage

See the examples directory in the repository. In general, any program that's already using tokio can add file I/O by using tokio_file::AioFileExt and running the resulting futures in the tokio reactor.

Platforms

tokio-file version 0.10 works on FreeBSD, using the mio-aio crate. It will probably also work on DragonflyBSD and OSX. It does not work on Linux. The tokio-file API can be supported on Linux, but it will need a completely different backend. Instead of using POSIX AIO as mio-aio does, Linux will need a mio-libaio crate, that uses Linux's nonstandard libaio with an eventfd for notifications. That's the approach taken by seastar.

License

tokio-file is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, and LICENSE-MIT for details.

Extension points exported contracts — how you extend this code

AioFileExt (Interface)
Adds POSIX AIO-based asynchronous methods to files. [1 implementers]
src/file.rs

Core symbols most depended-on inside this repo

read_at
called by 5
src/file.rs
runtime
called by 4
benches/bench.rs
write_at
called by 4
src/file.rs
writev_at
called by 2
src/file.rs
readv_at
called by 1
src/file.rs
read_at
called by 1
tests/file.rs
readv_at
called by 1
tests/file.rs
write_at
called by 1
tests/file.rs

Shape

Function 15
Method 9
Class 4
Interface 1

Languages

Rust100%

Modules by API surface

src/file.rs11 symbols
tests/file.rs7 symbols
benches/bench.rs6 symbols
examples/dd.rs4 symbols
tests/aio_write_eagain.rs1 symbols

For agents

$ claude mcp add tokio-file \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page