Rewrite PDFRip to take an Async approach
Pommaq opened this issue · 1 comments
Pommaq commented
PDFRip currently performs it's tasks with traditional threads causing certain logic to become more cumbersome compared to how I think it could be implemented in an async environment.
This is supported by how engine.rs has seen bugs such as #14 suggesting it's a tad too complicated.
I propose reimplementing PDFRip to be async instead by utilizing the Tokio ecosystem.
The benefits are:
- We have access to Tokio's async runtime, potentially improving performance.
- We have access to tokio-util's CancellationTokens and TaskTrackers as well as Tokio's Select! macro and ctrl-c signal handling.
- This Could be useful when implementing #17.
- We can remove our dependency on Crossbeam and utilize the channels in Tokio.
The current problems that I think need to be resolved are