Implement FileSource as a PdfSource fallback for when memory-mapping is not available or desired. Uses parking_lot::Mutex<File> for thread-safe concurrent access across rayon workers. Changes: - Add parking_lot = "0.12" dependency to pdftract-core/Cargo.toml - Rewrite FileSource to use Mutex<File> for Send + Sync support - Implement PdfSource, Read, and Seek traits - Add 12 comprehensive tests including concurrent read tests All tests pass. Thread-safe concurrent access verified via test_sync_multiple_threads and test_concurrent_read_range. Co-Authored-By: Claude Code (claude-opus-4.7) <noreply@anthropic.com> Bead-Id: pdftract-5ik66 |
||
|---|---|---|
| .. | ||
| pdftract-cer-diff | ||
| pdftract-cli | ||
| pdftract-core | ||
| pdftract-libpdftract | ||
| pdftract-py | ||