class FilterManager

Deals with sending code to policy filters. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods


Detailed Description

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:

impimport filter CodeMap to use.
smsource match filter CodeMap to use.
expexport filter CodeMap to use.
setsSetMap to use.
tagmapTagMap to use.
rtrthe XRL router used by the policy process.
pwthe process watcher.
pmapthe 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:

ttarget which should be updated.

Reimplemented from FilterManagerBase.

void  policy_backend_cb (const XrlError& e)

policy_backend_cb

Xrl callback for all XRL requests.

Parameters:

epossible XRL error.
void  push_routes_now ()

push_routes_now

Flushes the route pushing queue.

void  flush_updates_now ()

flush_updates_now

Flush all queues 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:

msecmilliseconds after which all queues should be flushed.

Reimplemented from FilterManagerBase.

void  birth (const string& protocol)

birth

A protocol just came back to life.

Parameters:

protocolname of protocol which is alive.

Reimplemented from PWNotifier.

void  death (const string& protocol)

death

A protocol just died.

Parameters:

protocolname of protocol which died.

Reimplemented from PWNotifier.


Generated by: pavlin on possum.icir.org on Wed Aug 2 15:36:30 2006, using kdoc $.