Releasing v2.2.0
Closed this issue · 6 comments
Relaxing boundary on Hackage
- crypton-connection
- http3
Fixing and releasing
- tls
- warp-tls
- http2-tls
bye
is used in connectionClose
of crypton-connection
which is typically used in bracket
, sigh.
bye
could be implemented without timeout
which uses the asynchronous exception.
We need two parts:
(1) TimeManager
of GHC: this is easy
(2) Non-blocking recv: this is possible with the normal blocking recv if we can check its readability. We have such a feature for Socket
. But I don't know such a feature for Handle
.
We need to consider dropping the support for Handle
in tls
.
It appeared that timeout
can be used in bracket
. haskell/network#589
- The version should be reverted into v2.1.
- The doc of
bye
should be relaxed. -
unliftio
should be removed.
Just for my understanding, what do you mean by this?
The doc of bye should be relaxed.
I wrote that bye
MUST NOT be used with bracket
but now the usage is allowed as it used to be. (6eb4e53)
Hmm, but I think there is some harm at least in using it in a bracket
pattern. If the connection is broken, resulting in an exception in the body, the call to bye
will then try to initiate the TLS shutdown sequence, resulting in a different exception, obscuring the original, unless we swallow exceptions in bye
(but that would then mean that if the TLS shutdown sequence itself fails, we'd not see the exception, which is potentially problematic also).
But fair enough, I don't feel terribly strongly here :) The recommended usage in the docs is okay with me.