[Bro-Dev] 'async' update and proposal
Johanna Amann
johanna at icir.org
Thu Feb 8 10:01:55 PST 2018
I just wanted to quickly chime in here to say that I generally like the
idea of having these contexts. I have no idea how complex it would be to
implement something like this, but that seems like it might be a
relatively clean solution to our problem :)
Johanna
On Tue, Jan 30, 2018 at 07:38:42AM -0800, Robin Sommer wrote:
>
>
> On Mon, Jan 29, 2018 at 13:58 -0600, you wrote:
>
> > And if 'function_call' starts as a synchronous function and later
> > changes, that's also kind of a problem, so you might see people
> > cautiously implementing the same type of code patterns everywhere
> > even if not required for some cases.
>
> That's a good point more generally: if we require "async" at call
> sites, an internal change to a framework can break existing code.
>
> > event protocol_event_1(c: connection ...) &context = { return c$id; } { ... }
> >
> > I only skimmed the paper, though seemed like it outlined a similar way
> > of generalizing contexts/scopes ?
>
> Yeah, that's pretty much the idea there. For concurrency, we'd hash
> that context value and use that to determine a target threat to
> schedule execution too, just like in a cluster the process/machine is
> determined.
>
> An attribute can work if we're confident that the relevant information
> can always be extracted from the event parameters. In a concurrent
> prototype many years ago we instead used a hardcoded set of choices
> based on the underlying connection triggering the event (5-tuple, host
> pair, src IP, dst IP). So you'd write (iirc):
>
> event protocol_event_1(c: connection ...) &scope = connection
>
> That detaches the context calculation from event parameters, with the
> obvious disadvantage that it can't be customized any further. May be
> there's some middle ground where we'd get both.
>
> (To clarify terminology: In that paper "scope" is the scheduling
> granularity, e.g., "by connection". "context" is the current
> instantiation of that scope (e.g., "1.2.3.4:1234,2.3.4.5:80" for
> connection scope).
>
> Robin
>
> --
> Robin Sommer * ICSI/LBNL * robin at icir.org * www.icir.org/robin
> _______________________________________________
> bro-dev mailing list
> bro-dev at bro.org
> http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev
>
More information about the bro-dev
mailing list