|
| ||||||||||||||||
It manages sending the code and sets to the filters in the protocols. It also updates the policy-tag-map in the RIB.
It also keeps track if protocols die / come back to life, throw the process watch in order to re-send code to filters which were dead and are now back.
| typedef map<string,Code*> CodeMap | CodeMap |
| typedef map<string,string> ConfQueue | ConfQueue |
| typedef set<uint32_t> TagSet | TagSet |
| typedef map<string,TagSet*> TagMap | TagMap |
| FMException (class) | FMException |
| FilterManager (const CodeMap& imp, const CodeMap& sm,
const CodeMap& exp, const SetMap& sets,
const TagMap& tagmap, XrlStdRouter& rtr,
ProcessWatch& pw,
ProtocolMap& pmap)
| FilterManager |
The FilterManager closely works with the Configuration class. Maybe in the future holding a reference the Configuration class, instead of the internal components may be a better solution.
Parameters:
| imp | import filter CodeMap to use. |
| sm | source match filter CodeMap to use. |
| exp | export filter CodeMap to use. |
| sets | SetMap to use. |
| tagmap | TagMap to use. |
| rtr | the XRL router used by the policy process. |
| pw | the process watcher. |
| pmap | the protocol map. |
| void update_filter (const Code::Target& t)
| update_filter |
Update the filter for a specific target. This will normally queue a filter configuration request.
Parameters:
| t | target which should be updated. |
Reimplemented from FilterManagerBase.
| void policy_backend_cb (const XrlError& e)
| policy_backend_cb |
Xrl callback for all XRL requests.
Parameters:
| e | possible XRL error. |
| void push_routes_now ()
| push_routes_now |
Flushes the route pushing queue.
| void flush_updates_now ()
| flush_updates_now |
| void flush_updates (uint32_t msec)
| flush_updates |
Flush all updates after msec milliseconds.
If a new update comes in before msec expires, only the new update will be performed.
Parameters:
| msec | milliseconds after which all queues should be flushed. |
Reimplemented from FilterManagerBase.
| void birth (const string& protocol)
| birth |
A protocol just came back to life.
Parameters:
| protocol | name of protocol which is alive. |
Reimplemented from PWNotifier.
| void death (const string& protocol)
| death |
A protocol just died.
Parameters:
| protocol | name of protocol which died. |
Reimplemented from PWNotifier.