mirror of
https://github.com/zeek/zeek.git
synced 2025-10-09 10:08:20 +00:00
53 lines
1.7 KiB
Text
53 lines
1.7 KiB
Text
const broker_port: port &redef;
|
|
redef exit_only_after_terminate = T;
|
|
|
|
global h: opaque of BrokerStore::Handle;
|
|
|
|
function dv(d: BrokerComm::Data): BrokerComm::DataVector
|
|
{
|
|
local rval: BrokerComm::DataVector;
|
|
rval[0] = d;
|
|
return rval;
|
|
}
|
|
|
|
global ready: event();
|
|
|
|
event BrokerComm::outgoing_connection_broken(peer_address: string,
|
|
peer_port: port)
|
|
{
|
|
terminate();
|
|
}
|
|
|
|
event BrokerComm::outgoing_connection_established(peer_address: string,
|
|
peer_port: port,
|
|
peer_name: string)
|
|
{
|
|
local myset: set[string] = {"a", "b", "c"};
|
|
local myvec: vector of string = {"alpha", "beta", "gamma"};
|
|
h = BrokerStore::create_master("mystore");
|
|
BrokerStore::insert(h, BrokerComm::data("one"), BrokerComm::data(110));
|
|
BrokerStore::insert(h, BrokerComm::data("two"), BrokerComm::data(223));
|
|
BrokerStore::insert(h, BrokerComm::data("myset"), BrokerComm::data(myset));
|
|
BrokerStore::insert(h, BrokerComm::data("myvec"), BrokerComm::data(myvec));
|
|
BrokerStore::increment(h, BrokerComm::data("one"));
|
|
BrokerStore::decrement(h, BrokerComm::data("two"));
|
|
BrokerStore::add_to_set(h, BrokerComm::data("myset"), BrokerComm::data("d"));
|
|
BrokerStore::remove_from_set(h, BrokerComm::data("myset"), BrokerComm::data("b"));
|
|
BrokerStore::push_left(h, BrokerComm::data("myvec"), dv(BrokerComm::data("delta")));
|
|
BrokerStore::push_right(h, BrokerComm::data("myvec"), dv(BrokerComm::data("omega")));
|
|
|
|
when ( local res = BrokerStore::size(h) )
|
|
{
|
|
print "master size", res;
|
|
event ready();
|
|
}
|
|
timeout 10sec
|
|
{ print "timeout"; }
|
|
}
|
|
|
|
event bro_init()
|
|
{
|
|
BrokerComm::enable();
|
|
BrokerComm::connect("127.0.0.1", broker_port, 1secs);
|
|
BrokerComm::auto_event("bro/event/ready", ready);
|
|
}
|