[package]
name = "fmmap"
version = "0.3.3"
edition = "2021"
repository = "https://github.com/al8n/fmmap/tree/main/fmmap-rs"
description = "A flexible and convenient high-level mmap for zero-copy file I/O."
license = "MIT OR Apache-2.0"
authors = ["Al Liu <scygliu@gmail.com>"]
documentation = "https://docs.rs/fmmap"
keywords = ["file", "memmapix", "mmap", "memory-map", "io"]
categories = ["filesystem", "external-ffi-bindings", "asynchronous"]
rust-version = "1.60.0"
[lib]
doctest = true
[features]
default = ["sync"]
nightly = []
sync = ["dep:fs4", "fs4?/sync"]
tokio-async = ["dep:fs4", "fs4?/tokio-async", "async-trait", "dep:async-trait", "dep:pin-project-lite", "tokio", "dep:tokio", "tokio?/io-std", "tokio?/io-util", "tokio?/fs"]
smol-async = ["dep:fs4", "fs4?/smol-async", "async-trait", "dep:async-trait", "dep:pin-project-lite", "dep:smol"]
std-async = ["dep:fs4", "fs4?/std-async", "async-trait", "dep:async-trait", "dep:pin-project-lite", "async-std", "dep:async-std", "async-std?/async-io", "async-std?/futures-lite", "dep:futures-util", "futures-util?/io"]
tokio = ["dep:tokio"]
async-std = ["dep:async-std"]
async-trait = ["dep:async-trait"]
[dependencies]
async-std = { version = "1.12", optional = true }
async-trait = { version = "0.1", optional = true }
bytes = "1.5"
byteorder = "1.4"
enum_dispatch = "0.3"
fs4 = { version = "0.6", optional = true }
futures-util = { version = "0.3", optional = true }
memmapix = "0.7"
pin-project-lite = { version = "0.2", optional = true }
parse-display = "0.8"
smol = { version = "1.3", optional = true }
tokio = { version = "1.32", optional = true }
[dev-dependencies]
async-std = { version = "1.12", features = ["attributes"] }
ctor = "0.2"
criterion = "0.5"
rand = "0.8"
smol-potat = "1.1"
scopeguard = "1.2"
tempdir = "0.3"
tokio = { version = "1.31", features = ["full"] }
tokio-test = "0.4"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]