Re: [Bro-Dev] 'async' keyword
On Tue, Sep 19, 2017 at 17:32 +, you wrote: > Understanding the new code also requires understanding the context in > which it is implemented and I wonder if the later is more of a hurdle > here. Hey, this is bro-dev, are you saying not everybody here is intimately familiar with the Bro source code? ;-) So yes, I'll allow for more time to understand the context. :) The point though is that conceptually it's both simple and difficult at the same time. Even without all the context, one might get the basic idea pretty quickly if looking at the right parts---or maybe one doesn't, I don't know, that's part of why I keep looking for feedback. Robin -- Robin Sommer * ICSI/LBNL * ro...@icir.org * www.icir.org/robin ___ bro-dev mailing list bro-dev@bro.org http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev
Re: [Bro-Dev] 'async' keyword
> On Sep 19, 2017, at 11:39 AM, Robin Sommerwrote: > > The exercise here is: Can you understand how "async" works? (If you > can honestly answer "yes" in under 15 minutes, I buy you a beer. ;-) A feat like that deserves a larger reward. Understanding the new code also requires understanding the context in which it is implemented and I wonder if the later is more of a hurdle here. Maybe it’s understandable for the exercise to take on the order of days/weeks for a person that’s not done much hacking/exploring of the bro internals? Just trying to give a sane reference point so anyone taking the challenge isn't discouraged after only 15 mins :) - Jon ___ bro-dev mailing list bro-dev@bro.org http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev
[Bro-Dev] 'async' keyword
At BroCon a few folks asked me about the proposed "async" keyword for Bro's scripting language. "async" is coroutine-style language construct that puts blocking operations on hold until they conclude, working on other stuff first. It could replace most uses of "when" and is arguably much nicer to use. "async" is implemented as a proof-of-concept in the topic/robin/async branch. Note that that Bro branch is not fully functional at the moment, nor are performance implications clear. However, before going any further with it I'd like to reach consensus if the current implementation is acceptable for the Bro code base, as it's very low-level and not easy to follow. I'd be interested in opinions here. The commit to look at is: https://github.com/bro/bro/commit/8653b333431648e5a33d61c3f61c6d093cff5b72 The exercise here is: Can you understand how "async" works? (If you can honestly answer "yes" in under 15 minutes, I buy you a beer. ;-) Robin PS: See the TODOs in that commit for the current state of the code.) -- Robin Sommer * ICSI/LBNL * ro...@icir.org * www.icir.org/robin ___ bro-dev mailing list bro-dev@bro.org http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev