Add DuplexResourceStream and deprecate Stream #85
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The old
Streamhas been renamed toDuplexResourceStreamto complement theReadableResourceStreamandWritableResourceStreamintroduced via #83 and #84.Note that the
DuplexResourceStreamnow rejects read-only or write-only streams, so this may affect BC. If you want a read-only or write-only resource, useReadableResourceStreamorWritableResourceStreaminstead ofDuplexResourceStream.Also marking this as a bug fix because the old behavior with regards to stream resource that were not opened in duplex mode could actually result in runtime errors.
The
Streamclass is one of the main classes in this package, so I've added a deprecated dummyStreamclass that simply extends the newDuplexResourceStreamfor BC reasons only. This means that existing packages can keep using theStreamclass for "normal" resources such as TCP/IP connections with this version. This class exists to ease upgrading only and will be removed in the next version.If you want to review, consider looking at the individual commits, this should make this slightly more obvious.
Resolves / closes #37
Builds on top of #83 and #84.