<EEVV>
having a weird issue with my server client setup... for some reason I ping my server it responds once and after that response it starts consuming more memory over time (8 gigabytes until I realized)
<EEVV>
so is it ok if I have datastructures like a doubly linked list?
<EEVV>
even weirder is the server doesn't even get any function triggered for the TCPListenNotify
<EEVV>
the server essentially gets stuck, maybe some actor isn't yielding? I have no idea
<EEVV>
er not the server but the whole program
<SeanTAllen>
sorry, not really enough there to comment on EEVV
<EEVV>
yeah this is so weird
<vaninwagen>
Can you share your code so we could try and reproduce on our end EEVV ?
<EEVV>
I think I nailed it down to me calling conn.dispose() and it isn't doing anything
<EEVV>
but now that I'm doing things I think maybe I have a loop that doesn't terminate
<vaninwagen>
That might be it
<EEVV>
ok I found it... It was part of my packet processing (header, then payload) but in a try block I set `_header = true` AFTER the only statement that generates an error in the same try block
<EEVV>
weird thing is env.out.print stops working but Debug.out still works maybe I'm just lucky that perhaps Debug was on another core
<SeanTAllen>
work stealing would result in the out actor ending up on another core
jemc has joined #ponylang
jemc has quit [Quit: WeeChat 2.2]
jemc has joined #ponylang
<EEVV>
also how would I do a return from a behavior? Should I just make it call the sender's behavior once it got the data or something like that?
<jemc>
yeah, you can't return a value from a behaviour, so you have to use a less direct pattern of response, like the one you described
<jemc>
if the two actors are strongly coupled together as abstractions (they know about eachothers types), you can have it just call a response behaviour of the other actor
<jemc>
if you want to be more loosely coupled (like, you're writing a library and don't know what kind of response the user will need to invoke), you can use another pattern, like a promise, or a callback, or a "notify object" (a la `TCPNotify`)