Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ReadAt and Size for Arc<RandomAccessFile> #25

Merged
merged 1 commit into from
May 6, 2024

Conversation

Databean
Copy link
Contributor

@Databean Databean commented May 6, 2024

Arc<RandomAccessFile> is useful because it can be cloned, and ReadAt and Size are not mutating operations. SizeCursor<Arc<RandomAccessFile>> can be cloned and shared across threads and also act like a file with a mutable seek position.

A more specific example is creating a zip::ZipArchive<SizeCursor<Arc<RandomAccessFile>>> instance and cloning a copy per thread.

https://docs.rs/zip/1.1.4/zip/read/struct.ZipArchive.html

`Arc<RandomAccessFile>` is useful because it can be cloned, and `ReadAt`
and `Size` are not mutating operations.
`SizeCursor<Arc<RandomAccessFile>>` can be cloned and shared across
threads and also act like a file with a mutable seek position.

A more specific example is creating a
`zip::ZipArchive<SizeCursor<Arc<RandomAccessFile>>>` instance and
cloning a copy per thread.

https://docs.rs/zip/1.1.4/zip/read/struct.ZipArchive.html
@Databean Databean changed the title Implement ReadAt and Size for Arc<RandomAccessFile> Implement ReadAt and Size for Arc<RandomAccessFile> May 6, 2024
@vasi vasi merged commit 5b787fb into vasi:master May 6, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants