Skip to content

Conversation

@GarrettBeatty
Copy link
Contributor

Description

Motivation and Context

Testing

Screenshots (if appropriate)

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

philasmar and others added 30 commits October 23, 2025 12:09
…psonse objects. (#4087)

stack-info: PR: #4087, branch: GarrettBeatty/stacked/12
…lopment-branch-sync

Merge `development` into `feature/transfermanager`
@GarrettBeatty GarrettBeatty requested a review from Copilot December 4, 2025 18:28
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 introduces a new Transfer Manager feature for the AWS .NET SDK's S3 service, specifically adding enhanced download capabilities with response objects and lifecycle events. The changes include:

  • New response-based methods for upload/download operations that return metadata
  • Lifecycle events (initiated, completed, failed) for transfer operations
  • Enhanced multipart download streaming with buffering support
  • Atomic file operations for safer downloads
  • Comprehensive test coverage for new functionality

Reviewed changes

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

Show a summary per file
File Description
BufferedMultipartStreamTests.cs Unit tests for buffered multipart streaming functionality
BufferedDownloadConfigurationTests.cs Unit tests for download configuration validation
BufferedDataSourceTests.cs Unit tests for buffered data source reading
AtomicFileHandlerTests.cs Unit tests for atomic file operations
TransferUtilityUploadDirectoryWithResponseTests.cs Integration tests for directory upload with response
TransferUtilityUploadDirectoryLifecycleTests.cs Integration tests for upload directory lifecycle events
TransferUtilityTests.cs Enhanced integration tests with lifecycle events and response methods
TransferUtilityOpenStreamTests.cs Integration tests for enhanced streaming downloads
TransferUtilityDownloadWithResponseTests.cs Integration tests for file download with response
TransferUtilityDownloadDirectoryWithResponseTests.cs Integration tests for directory download with response
TransferUtilityDownloadDirectoryLifecycleTests.cs Integration tests for download directory lifecycle events
GetObjectTests.cs Integration test for ContentLanguage header handling
AssemblyInfo.cs Added InternalsVisibleTo for Moq dynamic proxy
ContentRangeParser.cs New utility for parsing S3 ContentRange headers
TransferUtility.sync.cs Synchronous wrapper methods for new response-based APIs
TransferUtility.async.cs Async implementations for response-based directory operations
ITransferUtility.async.cs Interface additions for response-based async methods
TransferUtilityUploadDirectoryResponse.cs New response object for directory uploads
TransferUtilityOpenStreamResponse.cs New response object for stream operations
TransferUtilityOpenStreamRequest.cs Added MaxInMemoryParts property
TransferUtility.cs Updated logger initialization and upload command return type

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.

2 participants