- Fix compilation on platforms other than Unix and Windows by not
providing
RandomAccessFile.
- Implement
ReadAtandSizeforArc<RandomAccessFile>. - Start specifying minimum supported Rust version (currently 1.71).
- Add
Slice::{into_inner,get_ref,get_mut,offset,set_offset}().
- Forward
ReatAt,WriteAt, andSizefor boxed types. - Implement
Size for RandomAccessFile.
- Fixed compilation on 32-bit systems due to
posix_fadvise()signature.
- Renamed
{Read,Write}BytesExtto{Read,Write}BytesAtExtto avoid overlap withbyteorder. {Read,Write}Intand{Read,Write}IntAtare now inherent methods ofByteIo.- Removed
DerefandDerefMutimplementations forByteIo. UseByteIo::get_ref()andByteIo::get_mut()instead. - Removed
DerefandDerefMutforSizeCursor.Cursormethods are now also implemented onSizeCursor. UseSizeCursor::as_cursor()orSizeCursor::as_cursor_mut()to borrow the underlyingCursor. - Fixed
WriteAt for Fileon Windows: Writes were not working at all. - Fixed
ReadAt for Fileon Windows: Positioned reads were moving the file cursor. The new implementation is much slower but no longer modifies the read position. - Various methods are now inlinable across crate boundaries.
- Add 8-bit operations to integer read/write traits.
- Remove dependency on nix.
- Add traits ReadInt, ReadIntAt, WriteInt, WriteIntAt to describe behaviour of ByteIo.
- Make ByteIo implement Read, ReadAt, Write, WriteAt, so that it's more useful as a trait object.
- Add a changelog.
Initial release.
- ReadAt, WriteAt, Size traits
- Implementations for:
- Files (Unix and Windows)
- Arrays
- Vectors
- References
- byteorder functionality
- Positioned byte-order extensions ReadBytesExt, WriteBytesExt
- ByteIo adapter, to make ByteOrder type parameter implicit
- Cursor, to turn a ReadAt/WriteAt into a Read/Write
- Slices, to turn a ReadAt/WriteAt into a smaller ReadAt/WriteAt
- Documentation
- Basic integration tests