Skip to content

feat: add download manager with pause/resume and crash recovery#9

Open
abdulroufsidhu wants to merge 2 commits intobottlesdevs:mainfrom
abdulroufsidhu:main
Open

feat: add download manager with pause/resume and crash recovery#9
abdulroufsidhu wants to merge 2 commits intobottlesdevs:mainfrom
abdulroufsidhu:main

Conversation

@abdulroufsidhu
Copy link

Add a fully-featured async download manager supporting:

  • Concurrent downloads with configurable worker pool
  • Pause and resume functionality with state persistence
  • Automatic crash recovery and resume capability
  • Progress tracking with event subscriptions
  • Retry logic with exponential backoff
  • Multiple download backends (reqwest with streaming) New modules:
  • download/manager.rs - Main coordinator
  • download/worker.rs - Worker pool management
  • download/queue.rs - Task queue with persistence
  • download/backend.rs - HTTP download implementation
  • download/progress.rs - Progress tracking
  • download/retry.rs - Retry policies
  • download/events.rs - Event system
  • download/types.rs - Core types and state machine Add examples:
  • basic_usage.rs - Simple download example
  • pause_resume.rs - Pause/resume demonstration
  • crash_recovery.rs - Crash recovery testing Update dependencies for tonic/prost compatibility.

Add a fully-featured async download manager supporting:
- Concurrent downloads with configurable worker pool
- Pause and resume functionality with state persistence
- Automatic crash recovery and resume capability
- Progress tracking with event subscriptions
- Retry logic with exponential backoff
- Multiple download backends (reqwest with streaming)
New modules:
- download/manager.rs - Main coordinator
- download/worker.rs - Worker pool management
- download/queue.rs - Task queue with persistence
- download/backend.rs - HTTP download implementation
- download/progress.rs - Progress tracking
- download/retry.rs - Retry policies
- download/events.rs - Event system
- download/types.rs - Core types and state machine
Add examples:
- basic_usage.rs - Simple download example
- pause_resume.rs - Pause/resume demonstration
- crash_recovery.rs - Crash recovery testing
Update dependencies for tonic/prost compatibility.
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.

1 participant

Comments