mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 17:18:20 +00:00
Zeek Table<->Brokerstore: cleanup, documentation, small fixes
This commit adds script/c++ documentation and fixes a few loose ends. It also adds tests for corner cases and massively improves error messages. This also actually introduces type-compatibility checking and introduces a new attribute that lets a user override this if they really know what they are doing. I am not quite sure if we should really let that stay in - but it can be very convenient to have this functionality. One test is continuing to fail - the expiry test is very flaky. This is, I think, caused by delays of the broker store forwarding. I am unsure if we can actually do anything about that.
This commit is contained in:
parent
67917b83aa
commit
2b2a40f49c
26 changed files with 271 additions and 53 deletions
10
src/Val.h
10
src/Val.h
|
@ -785,7 +785,7 @@ public:
|
|||
* @param new_val The value to assign at the index. For a set, this
|
||||
* must be nullptr.
|
||||
* @param broker_forward Controls if the value will be forwarded to attached
|
||||
* broker stores.
|
||||
* broker stores.
|
||||
* @return True if the assignment type-checked.
|
||||
*/
|
||||
bool Assign(ValPtr index, ValPtr new_val, bool broker_forward = true);
|
||||
|
@ -799,7 +799,7 @@ public:
|
|||
* @param new_val The value to assign at the index. For a set, this
|
||||
* must be nullptr.
|
||||
* @param broker_forward Controls if the value will be forwarded to attached
|
||||
* broker stores.
|
||||
* broker stores.
|
||||
* @return True if the assignment type-checked.
|
||||
*/
|
||||
bool Assign(ValPtr index, std::unique_ptr<HashKey> k,
|
||||
|
@ -926,7 +926,7 @@ public:
|
|||
* Remove an element from the table and return it.
|
||||
* @param index The index to remove.
|
||||
* @param broker_forward Controls if the remove operation will be forwarded to attached
|
||||
* broker stores.
|
||||
* broker stores.
|
||||
* @return The value associated with the index if it exists, else nullptr.
|
||||
* For a sets that don't really contain associated values, a placeholder
|
||||
* value is returned to differentiate it from non-existent index (nullptr),
|
||||
|
@ -1023,6 +1023,10 @@ public:
|
|||
// on zeek::RecordTypes.
|
||||
static void DoneParsing();
|
||||
|
||||
/**
|
||||
* Sets the name of the broker store that is backing this table.
|
||||
* @param store store that is backing this table.
|
||||
*/
|
||||
void SetBrokerStore(const std::string& store) { broker_store = store; }
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue