Skip to content

Add async-friendly WritableStream, create _AsyncFileSystem module #7831

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

Merged
merged 9 commits into from
Aug 7, 2024

Conversation

MaxDesiatov
Copy link
Contributor

Existing WritableByteStream protocol used by AsyncProcess is not thread-safe. It's new WritableStream replacement is, with an added conformance to the existing OpenWritableFile. That one is built on top AsyncFS, which has been moved to the Basics module. That allows us to adopt it in AsyncProcess in the future.

This is NFC, new API is adopted solely by QueryEngine, which is exercised only in tests.

Existing `WritableByteStream` protocol used by `AsyncProcess` is not thread-safe. It's new `WritableStream` replacement is, with an added conformance to the existing `OpenWritableFile`. That one is built on top `AsyncFS`, which has been moved to the `Basics` module. That allows us to adopt it in `AsyncProcess` in the future.
@MaxDesiatov MaxDesiatov added concurrency no functional change No user-visible functional changes included needs tests This change needs test coverage needs documentation labels Jul 28, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov MaxDesiatov changed the title Add async-friendly WritableStream, move AsyncFS to Basics Add async-friendly WritableStream, create _AsyncFileSystem module Jul 29, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov MaxDesiatov removed needs tests This change needs test coverage needs documentation labels Jul 29, 2024
@MaxDesiatov MaxDesiatov self-assigned this Jul 29, 2024
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov MaxDesiatov marked this pull request as ready for review July 29, 2024 15:31
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov MaxDesiatov enabled auto-merge (squash) July 29, 2024 20:20
@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@xedin
Copy link
Contributor

xedin commented Aug 7, 2024

@swift-ci please test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test

@MaxDesiatov
Copy link
Contributor Author

@swift-ci test windows

@MaxDesiatov MaxDesiatov merged commit a94e7cc into main Aug 7, 2024
5 checks passed
@MaxDesiatov MaxDesiatov deleted the maxd/async-fs-basics branch August 7, 2024 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
concurrency no functional change No user-visible functional changes included
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants