Discussion:
block stream/put?
Keith Irwin
2016-05-16 20:40:27 UTC
Permalink
Is there any scenario at all where

@(stream/put! stream data) ;; stream -> websocket-client

would block permanently?
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aleph-lib+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Zach Tellman
2016-05-16 20:48:31 UTC
Permalink
In theory, yes. In practice, I'd expect that the TCP stack would
disconnect after a certain number of failures to send a packet, but I'm not
sure what the threshold for that is.
Post by Keith Irwin
Is there any scenario at all where
@(stream/put! stream data) ;; stream -> websocket-client
would block permanently?
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aleph-lib+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Keith Irwin
2016-05-16 21:19:57 UTC
Permalink
In theory, yes. In practice, I'd expect that the TCP stack would disconnect after a certain number of failures to send a packet, but I'm not sure what the threshold for that is.
The result of, say, the other end of the connection failing to read but still hanging on to the connection?
Is there any scenario at all where
@(stream/put! stream data) ;; stream -> websocket-client
would block permanently?
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aleph-lib+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Zach Tellman
2016-05-16 21:45:16 UTC
Permalink
Well, for that to happen you need to be ignoring the backpressure being
exerted by the core.async channel. If `put!` isn't telling you it's
succeeded, don't keep on putting.
Post by Zach Tellman
In theory, yes. In practice, I'd expect that the TCP stack would
disconnect after a certain number of failures to send a packet, but I'm not
sure what the threshold for that is.
The result of, say, the other end of the connection failing to read but
still hanging on to the connection?
and got the 1024 error (can’t `put!` more than 1024 items to a channel
before `put!` refuses).
Post by Keith Irwin
Is there any scenario at all where
@(stream/put! stream data) ;; stream -> websocket-client
would block permanently?
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Aleph" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aleph-lib+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...