dddddd has quit [Remote host closed the connection]
GoldRin has quit [Remote host closed the connection]
caltelt_ has quit [Ping timeout: 245 seconds]
endformationage has quit [Quit: WeeChat 2.4]
lockywolf_ has quit [Ping timeout: 258 seconds]
zmt01 has joined #racket
zmt00 has quit [Ping timeout: 252 seconds]
`micro has joined #racket
sauvin has joined #racket
Arcaelyx has quit [Ping timeout: 252 seconds]
cbarrett has quit [Ping timeout: 252 seconds]
rodlogic has quit [Ping timeout: 252 seconds]
cbarrett has joined #racket
rodlogic has joined #racket
moldybits has quit [Quit: WeeChat 2.4]
davidl has quit [Ping timeout: 244 seconds]
libertyprime has joined #racket
<tonyg>
greghendershott: yeah that's the one approach i didn't even bother to concretely experiment with. i think it'll be important to do it concretely to have a good comparison.
orivej has joined #racket
Sgeo__ has joined #racket
Sgeo_ has quit [Ping timeout: 244 seconds]
libertyprime has quit [Ping timeout: 258 seconds]
libertyprime has joined #racket
libertyprime has quit [Read error: Connection reset by peer]
libertyprime has joined #racket
Sgeo_ has joined #racket
Sgeo__ has quit [Ping timeout: 272 seconds]
Sgeo_ has quit [Read error: Connection reset by peer]
Sgeo_ has joined #racket
pierpal has quit [Remote host closed the connection]
miskatonic has joined #racket
mSSM has joined #racket
sz0 has quit []
sz0 has joined #racket
ubLIX has joined #racket
Sgeo_ has quit [Read error: Connection reset by peer]
Sgeo_ has joined #racket
Sgeo__ has joined #racket
ubLIX has quit [Ping timeout: 272 seconds]
manualcrank has quit [Quit: WeeChat 1.9.1]
Sgeo_ has quit [Ping timeout: 248 seconds]
ubLIX has joined #racket
ubLXI has joined #racket
ubLIX has quit [Ping timeout: 248 seconds]
ng0 has joined #racket
DGASAU has quit [Remote host closed the connection]
DGASAU has joined #racket
_whitelogger has joined #racket
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
dddddd has joined #racket
soegaard has joined #racket
iyzsong has joined #racket
ZombieChicken has quit [Quit: Have a nice day]
notzmv has quit [Ping timeout: 258 seconds]
ricekrispie2 has joined #racket
ricekrispie has quit [Ping timeout: 244 seconds]
acarrico has joined #racket
lockywolf has joined #racket
jao has joined #racket
acarrico has quit [Ping timeout: 246 seconds]
acarrico has joined #racket
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 272 seconds]
soegaard has quit [Quit: soegaard]
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 246 seconds]
caltelt has joined #racket
lockywolf_ has joined #racket
lockywolf__ has quit [Ping timeout: 248 seconds]
rubic88 has joined #racket
iyzsong has quit [Read error: Connection reset by peer]
caltelt has quit [Ping timeout: 245 seconds]
Arcaelyx has joined #racket
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 245 seconds]
ng0 has quit [Quit: Alexa, when is the end of world?]
<tonyg>
And it's probably the least awful productionish solution to the problem :)
<tonyg>
You still have to be careful not to create more than a single event wrapping a given input port, but a single such event can be shared among threads freely
<tonyg>
One potential downside is that, if reading of a frame has started but not stopped, and interest in the outcome goes away, the read will proceed to completion before the read-thread terminates, whereas with the effects-based solution no more reading will happen immediately
endformationage has joined #racket
<tonyg>
Neither solution handles freely switching between blocking and event-based input well. You have to commit to event-based input once you've started.
lavaflow has quit [Ping timeout: 246 seconds]
q9929t has quit [Quit: q9929t]
lavaflow has joined #racket
libertyprime has quit [Ping timeout: 272 seconds]
casaca has quit [Ping timeout: 246 seconds]
emacsomancer has quit [Ping timeout: 245 seconds]
casaca has joined #racket
lavaflow has quit [Ping timeout: 272 seconds]
<greghendershott>
tonyg: At first glance that still seems slightly "event heavy", to me?
<greghendershott>
Could it simply return a channel, which the user could `channel-get` or `sync` as they happen to need?
Sgeo__ has quit [Read error: Connection reset by peer]
Sgeo__ has joined #racket
dan_f has joined #racket
jsomedon has joined #racket
jsomedon has quit [Quit: jsomedon]
jsomedon has joined #racket
lockywolf_ has joined #racket
urbanslug has joined #racket
lockywolf__ has quit [Read error: Connection reset by peer]
lockywolf__ has joined #racket
lockywolf_ has quit [Read error: Connection reset by peer]
lockywolf_ has joined #racket
jsomedon has quit [Quit: jsomedon]
lockywolf__ has quit [Ping timeout: 245 seconds]
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Ping timeout: 272 seconds]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
efm has joined #racket
emacsomancer has joined #racket
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
urbanslug has joined #racket
urbanslug has quit [Read error: Connection reset by peer]
casaca has quit [Ping timeout: 248 seconds]
casaca has joined #racket
casaca has quit [Ping timeout: 268 seconds]
casaca has joined #racket
urbanslug has joined #racket
casaca has quit [Ping timeout: 246 seconds]
acarrico has quit [Ping timeout: 248 seconds]
casaca has joined #racket
urbanslug is now known as zipper
ubLIX has joined #racket
FreeFull has joined #racket
casaca has quit [Ping timeout: 272 seconds]
casaca has joined #racket
rubic has joined #racket
rubic88 has quit [Ping timeout: 246 seconds]
casaca has quit [Ping timeout: 248 seconds]
acarrico has joined #racket
manualcrank has joined #racket
casaca has joined #racket
lavaflow has joined #racket
casaca has quit [Ping timeout: 258 seconds]
zipper has quit [Read error: Connection reset by peer]
casaca has joined #racket
longshi has joined #racket
soegaard has joined #racket
casaca has quit [Ping timeout: 244 seconds]
casaca has joined #racket
sauvin has quit [Ping timeout: 272 seconds]
selimcan has joined #racket
sz0 has quit [Quit: Connection closed for inactivity]
efm has quit [Quit: Konversation terminated!]
longshi has quit [Quit: WeeChat 2.4]
zipper has joined #racket
ym555 has joined #racket
lavaflow has quit [Ping timeout: 257 seconds]
dan_f has quit [Quit: dan_f]
pera has quit [Ping timeout: 246 seconds]
lavaflow has joined #racket
zipper has quit [Ping timeout: 272 seconds]
jao has quit [Ping timeout: 248 seconds]
zipper has joined #racket
acarrico has quit [Ping timeout: 258 seconds]
zipper has quit [Ping timeout: 268 seconds]
pie__ has joined #racket
pie___ has quit [Remote host closed the connection]
pera has joined #racket
pfdietz has joined #racket
zipper has joined #racket
dan_f has joined #racket
efm has joined #racket
zipper has quit [Ping timeout: 244 seconds]
casaca has quit [Ping timeout: 248 seconds]
zipper has joined #racket
casaca has joined #racket
dan_f has quit [Quit: dan_f]
zipper has quit [Ping timeout: 248 seconds]
pera has quit [Quit: leaving]
selimcan has quit [Ping timeout: 258 seconds]
selimcan has joined #racket
efm has quit [Quit: Konversation terminated!]
sleepnap has joined #racket
selimcan has quit [Remote host closed the connection]
sleepnap has quit [Quit: Leaving.]
pera has joined #racket
sleepnap has joined #racket
ZombieChicken has joined #racket
sleepnap has quit [Ping timeout: 245 seconds]
serpentaddiction has joined #racket
rubic has quit [Ping timeout: 248 seconds]
dan_f has joined #racket
pera has quit [Ping timeout: 244 seconds]
sleepnap has joined #racket
ZombieChicken has quit [Quit: Have a nice day]
pera has joined #racket
ZombieChicken has joined #racket
sleepnap has quit [Ping timeout: 258 seconds]
Fernando-Basso has joined #racket
serpentaddiction has quit [Remote host closed the connection]
moldybits has joined #racket
iclon__ has joined #racket
caltelt has joined #racket
iclon_ has quit [Ping timeout: 248 seconds]
Guest62345 has joined #racket
mSSM has quit [Ping timeout: 248 seconds]
dan_f has quit [Quit: dan_f]
moldybits has quit [Ping timeout: 248 seconds]
soegaard has quit [Read error: Connection reset by peer]
soegaard has joined #racket
soegaard has quit [Read error: Connection reset by peer]
soegaard has joined #racket
moldybits has joined #racket
libertyprime has joined #racket
Nomenclatura has quit [Quit: q]
pera has quit [Ping timeout: 258 seconds]
ubLIX has quit [Ping timeout: 245 seconds]
pera has joined #racket
<tonyg>
greghendershott: yes, but (1) if the reading thread crashes, the client thread will deadlock if it touches ch more than once and (2) the reading thread always reads ahead one message
<greghendershott>
tonyg: Point. I guess typically I've done those with tcp or udp ports, and the client thread and the ports and everything is in a custodian which can be blown away on e.g. a timeout
<greghendershott>
But. It's not always that simple.
<tonyg>
(another little thing: using nack-evt lets the code avoid committing to reading a message at all if the nack-evt fires before any bytes appear on the input socket)
<tonyg>
greghendershott: yeah I need to practice more with custodians
<greghendershott>
It's nice if there's some higher granularity like "request" or "message" or "transaction", that can be covered by one custodian.
<greghendershott>
At least, I try desperately to find some such higher level of granularity. :)
<greghendershott>
But sometimes con is difficult\ncurrency\n
cpup has quit [Ping timeout: 246 seconds]
sagax has quit [Remote host closed the connection]