mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
![]() This is just for playing around for the moment. It tries to address the situation that a bif creates a C-level data structure that is then to be manipulated with further bifs (but not with other script-level operators). There are two problems with that: - We don't have a type at the script-level to represent the created data structure. - We can't just pass C-level pointers around (say, via "any") because then garbage collection wouldn't clean up after us. This patch allows to wrap such a pointer with a record: type Foo = record { opaque: any; }; The bifs simply pass around instances of this record, while internally storing a C pointer to the data structure instance in its only field. Internally, "opaque" is an instance of a new Val-derived class OpaqueVal. It gets cleaned up via ref-counting as usual and deletes the C data structure automatically when done. |
||
---|---|---|
.. | ||
btest | ||
istate | ||
README |
This directory contains some of the suites for testing for Bro's correct operation: istate/ Tests Bro's independent state facilities. These include persistent values and inter-process event/value communication. (Note that the Bro developers maintain a separate test suite for Bro's trace analysis capabilities. This is kept private as it uses sensitive raw traces for input.)