-
Notifications
You must be signed in to change notification settings - Fork 868
Add Progress listeners for initiated, complete, and failed for simple upload #4059
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
base: feature/transfermanager
Are you sure you want to change the base?
Conversation
b3572ed
to
fa2c582
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds lifecycle event notifications (initiated, completed, and failed) for simple uploads in the AWS S3 Transfer Utility. The implementation provides developers with more granular visibility into upload operations beyond just progress tracking.
Key changes:
- Added three new event types:
UploadInitiatedEvent
,UploadCompletedEvent
, andUploadFailedEvent
toTransferUtilityUploadRequest
- Enhanced
SimpleUploadCommand
to fire these events at appropriate lifecycle stages - Added comprehensive test coverage for all new event scenarios
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
TransferUtilityUploadRequest.cs | Added three new event handlers and corresponding event argument classes with detailed documentation |
SimpleUploadCommand.cs | Enhanced with lifecycle event firing methods and improved progress tracking with thread-safe counters |
SimpleUploadCommand.async.cs | Updated async execution flow to fire lifecycle events at appropriate points |
TransferUtilityTests.cs | Added comprehensive test coverage for all lifecycle events including failure scenarios |
433a9a6d-b8ea-4676-b763-70711e8288e2.json | Added dev config file marking this as a minor version change |
sdk/src/Services/S3/Custom/Transfer/TransferUtilityUploadRequest.cs
Outdated
Show resolved
Hide resolved
fa2c582
to
a77093f
Compare
fc6fc58
to
d01f5ab
Compare
4f9bdfa
to
2684d9d
Compare
d01f5ab
to
d58e4d8
Compare
/// <summary> | ||
/// Gets the file path being uploaded. | ||
/// </summary> | ||
public string FilePath { get; private set; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i put this here for consistency with the UploadProgress. i think technically its part of the Request (Request.FilePath). im open to removing this though
… upload stack-info: PR: #4059, branch: GarrettBeatty/stacked/1
d58e4d8
to
6fd0aea
Compare
Stacked PRs:
Description
This change adds progress listeners for "initiated", "complete", and "failed" lifecycle events for the SimpleUploadCommand (non multipart). Consumers can subscribe to these callbacks to receive notifications when a simple upload starts, finishes successfully, or fails. We will also make this change for multi part upload command here #4061
Example usage
Motivation and Context
Testing
Types of changes
Checklist
License