Skip to content

Conversation

@GarrettBeatty
Copy link
Contributor

@GarrettBeatty GarrettBeatty commented Oct 23, 2025

Stacked PRs:


Description

This change adds progress listeners for "initiated", "complete", and "failed" lifecycle events for the DownloadCommand Consumers can subscribe to these callbacks to receive notifications when a simple upload starts, finishes successfully, or fails. Its similar to #4059 but for downloads

Motivation and Context

  1. To adhere to the SEP

Testing

  1. f0cb4050-fb2c-4fb0-b489-280eb3313ca9 - pass
  2. Integration tests

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project
  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have read the README document
  • I have added tests to cover my changes
  • All new and existing tests passed

License

  • I confirm that this pull request can be released under the Apache 2 license

Copy link
Contributor

Copilot AI left a 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 events (DownloadInitiatedEvent, DownloadCompletedEvent, and DownloadFailedEvent) to the S3 TransferUtility download functionality, providing developers with better visibility into download operations.

Key changes:

  • New event handlers and event argument classes for download lifecycle events
  • Integration of events into the DownloadCommand execution flow
  • Comprehensive integration tests covering individual and combined lifecycle events

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
sdk/src/Services/S3/Custom/Transfer/TransferUtilityDownloadRequest.cs Adds three new public events (DownloadInitiatedEvent, DownloadCompletedEvent, DownloadFailedEvent) with corresponding event argument classes and internal event-raising methods
sdk/src/Services/S3/Custom/Transfer/Internal/_async/DownloadCommand.async.cs Implements event firing at appropriate points in the download lifecycle, tracks total bytes from response headers, and maps the final response
sdk/src/Services/S3/Custom/Transfer/Internal/DownloadCommand.cs Adds event firing helper methods and tracks total transferred bytes using Interlocked operations for thread safety
sdk/src/Services/S3/Custom/Model/GetObjectResponse.cs Adds Request property to WriteObjectProgressArgs to provide access to the original download request
sdk/test/Services/S3/IntegrationTests/TransferUtilityTests.cs Adds five new integration tests covering individual events and complete lifecycle scenarios
generator/.DevConfigs/9d07dc1e-d82d-4f94-8700-c7b57f872123.json Adds dev config for version bump

@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/4 to feature/transfermanager October 24, 2025 13:48
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from ee59a30 to e553dbb Compare October 24, 2025 13:48
GarrettBeatty added a commit that referenced this pull request Oct 24, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/4 October 24, 2025 13:49
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/4 to feature/transfermanager October 24, 2025 14:57
GarrettBeatty added a commit that referenced this pull request Oct 24, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from e553dbb to 8782802 Compare October 24, 2025 14:57
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/4 October 24, 2025 14:57
@GarrettBeatty GarrettBeatty requested a review from Copilot October 24, 2025 15:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/4 to feature/transfermanager October 24, 2025 15:17
GarrettBeatty added a commit that referenced this pull request Oct 24, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from 8782802 to b0fa14b Compare October 24, 2025 15:17
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/4 October 24, 2025 15:18
@GarrettBeatty GarrettBeatty requested a review from Copilot October 24, 2025 15:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/4 to feature/transfermanager October 24, 2025 15:46
GarrettBeatty added a commit that referenced this pull request Oct 24, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from b0fa14b to a92a064 Compare October 24, 2025 15:46
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/4 October 24, 2025 15:46
@GarrettBeatty GarrettBeatty requested a review from Copilot October 24, 2025 15:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

GarrettBeatty added a commit that referenced this pull request Nov 6, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from 6e77cfb to 8f54979 Compare November 6, 2025 15:34
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 15:34
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 15:38
GarrettBeatty added a commit that referenced this pull request Nov 6, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from 8f54979 to 4e8cac8 Compare November 6, 2025 15:38
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 15:39
@GarrettBeatty GarrettBeatty requested a review from Copilot November 6, 2025 15:54
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 16:32
GarrettBeatty added a commit that referenced this pull request Nov 6, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from 4e8cac8 to 00f9c66 Compare November 6, 2025 16:32
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 16:32
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 19:15
GarrettBeatty added a commit that referenced this pull request Nov 6, 2025
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from 00f9c66 to eaf3129 Compare November 6, 2025 19:15
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 19:16
stack-info: PR: #4079, branch: GarrettBeatty/stacked/10
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 21:10
@GarrettBeatty GarrettBeatty force-pushed the GarrettBeatty/stacked/10 branch from eaf3129 to e63ed78 Compare November 6, 2025 21:10
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 21:10
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 21:36
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 21:36
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 21:46
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 21:46
@GarrettBeatty GarrettBeatty changed the base branch from GarrettBeatty/stacked/13 to feature/transfermanager November 6, 2025 22:05
@GarrettBeatty GarrettBeatty changed the base branch from feature/transfermanager to GarrettBeatty/stacked/13 November 6, 2025 22:06
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.

3 participants