[Bro] select element of set of records

Azoff, Justin S jazoff at illinois.edu
Tue Nov 15 13:33:15 PST 2016

> On Nov 15, 2016, at 3:43 PM, Reinhard Gentz <rgentz at asu.edu> wrote:
> Hi
> I want to send one element of a set of records to a remote event via broker to python. But i can only set the complete set of records
> The code below works, but i receive all elements of the set of records, not just the one i want to select. When I execute the code below on the other side i receive  {(whatever, 1), (whatever, 2)} but i only want to receive {(whatever, 1)}. I know i can filter out the unnecessary data in python, but it seems wasteful of the bandwidth and computation needed.
> type mytest: record{
>         a: string &default = "whatever";
>         b: string &default= "inhere";
> };
> type myrecordset: set[mytest];
> local myrecord2 = myrecordset([$b="1"],[$b="2"]);
> global my_event3: event(msg: myrecordset);
> Broker::send_event("bro/events/my_event", Broker::event_args(my_event3,myrecord2[mytest($b="1")]));

I don't really follow.. why aren't you just doing

global my_event3: event(msg: mytest);
Broker::send_event("bro/events/my_event", Broker::event_args(my_event3, mytest($b="1")));

myrecord2 is a set of two records.  If you only want to send one of the records, just send one of the records, not the set.

It might make more sense if you describe what you're trying to do here.

- Justin Azoff

More information about the Bro mailing list