Automatic bro table->brokerstore insert operations

We now have an &broker_store attribute which automatically sends
inserts/deletes into a set/table to broker.

This might work - I actually did not test if the data ends up in the
broker store in the end. A limitation is that the table/set currently
only can have a one-element type since Broker doesn't support the list
type.
This commit is contained in:
Johanna Amann 2020-01-23 13:13:10 -08:00
parent c306fcf3d7
commit 68f0fe9e8c
7 changed files with 156 additions and 11 deletions

View file

@ -928,6 +928,9 @@ protected:
// Calls &change_func. Does not take ownership of values. (Refs if needed).
void CallChangeFunc(const Val* index, Val* old_value, OnChangeType tpe);
// Sends data on to backing Broker Store
void SendToStore(const Val* index, const Val* new_value, OnChangeType tpe);
Val* DoClone(CloneState* state) override;
TableType* table_type;
@ -940,6 +943,7 @@ protected:
PrefixTable* subnets;
Val* def_val;
Expr* change_func = nullptr;
Expr* broker_store = nullptr;
};
class RecordVal : public Val, public notifier::Modifiable {