Zero-copy shared byte buffers with high-performance synchronous, native, and async I/O for MoonBit.
Dependencies
| Package | Responsibility | Targets |
|---|---|---|
| buffer | SharedBytes, BytesMut, Buf, BufMut, typed endian access | all targets |
| io | fallible synchronous Read/Write, buffering, seeking, adapters | all targets |
| async_io | async traits, buffered wrappers, copy and stream adapters | native |
| native | files, TCP, mmap-backed MappedBytes, OS error mapping | native |
moon add ZSeanYves/bufferutils@0.37.0import { "ZSeanYves/bufferutils/buffer" @buffer }
let mutable = @buffer.BytesMut::new(capacity=32)
mutable.put_u16_be(0x1234U.to_uint16())
mutable.put_utf8("MoonBit")
let immutable = mutable.freeze()
let prefix = immutable.slice(0, 2)
mutable.put_byte(b'!')
ignore(prefix.as_bytes_view())import { "ZSeanYves/bufferutils/io" @io }
let source = @io.MemoryReader::new(b"header:payload", max_chunk=3)
let reader = @io.BufReader::new(source, capacity=8)
let header = Array::make(7, (0).to_byte())
@io.Read::read_exact(reader, header.mut_view())
let rest : Array[Byte] = []
@io.read_to_end(reader, rest)moon info && scripts/normalize_interfaces && moon fmt
moon check --target all --deny-warn
moon test --target all --deny-warn
scripts/check_api_surface
moon check examples --target native --deny-warn
moon run bench --target native --release > .tmp/bufferutils-bench/results.csv
scripts/check_performance_budgetZero-copy shared byte buffers with high-performance synchronous, native, and async I/O for MoonBit.
Dependencies