On Tue, 6 Sep 2022 17:01:09 GMT, Markus KARG <d...@openjdk.org> wrote:

>>> @AlanBateman Async close leaves BIS in an invalid state. The JavaDocs say ` 
>>> The behavior for the case where the input and/or output stream is 
>>> asynchronously closed, or the thread interrupted during the transfer, is 
>>> highly input and output stream specific, and therefore not specified.`. 
>> 
>> Yes, I believe I suggested that wording when the method was added. The 
>> java.io APIs mostly pre-date deep consideration of those topics.
>> 
>> I've looked at the update change to BIS in f2f9a904 and I think it's okay.
>> 
>> On the CSR topic and your messages with Daniel. On the CSR wiki pages then 
>> phrase to look for is "behavioral compatibility".  The "Kinds of 
>> Compatibility" has more details on the topic.
>
> Thank you all for your kind help and feedback.
> 
> @AlanBateman So is now the time to switch this PR from Draft to Ready?

The source changes LGTM. I suppose you should now revert the changes above (in 
`HexPrinter.java`), otherwise the bytes will now be counted twice :-).
Which BTW shows that you would be depending on undocumented behavior whatever 
you do:
`transferTo` is not documented to call `this.read(...)`, but neither is it 
documented to **not call**  `this.read(...)`...  Hyrum's law wins here ;-)

-------------

PR: https://git.openjdk.org/jdk/pull/6935

Reply via email to