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
Stream
has been renamed toDuplexResourceStream
to complement theReadableResourceStream
andWritableResourceStream
introduced via #83 and #84.Note that the
DuplexResourceStream
now rejects read-only or write-only streams, so this may affect BC. If you want a read-only or write-only resource, useReadableResourceStream
orWritableResourceStream
instead 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
Stream
class is one of the main classes in this package, so I've added a deprecated dummyStream
class that simply extends the newDuplexResourceStream
for BC reasons only. This means that existing packages can keep using theStream
class 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.