More variants…
It could be like synchronous signal handling with "raise" and "trap" keywords.
trap trigger(n: Notice::Info) &priority=5
{
if ( xxx )
break; # short circuit
}
trap trigger(n: Notice::Info) &priority=-5
{
if ( yyy )
do_someting();
}
[...]
local n: Notice::Info;
raise trigger(n);
[…]
It could be like exception handling with "throw", and "catch" keywords.
catch trigger(n: Notice::Info) &priority=5
{
if ( xxx )
throw; # rethrow to continue handling
}
catch trigger(n: Notice::Info) &priority=-5
{
if ( yyy )
do_someting();
# handling stops here because it's not rethrown
}
[...]
local n: Notice::Info;
throw trigger(n);
[…]
Jon
_______________________________________________
bro-dev mailing list
[email protected]
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev