class VersionFilter

Policy filters which support versioning [i.e. keep old version]. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

The idea is to create a new policy filter on each configuration. Whenever a route is being processed, you read which filter to run. If this filter is 0, [null pointer] then give it the last configuration. Else just run whatever filter is returned.

Filters should be referenced counted by routes. When reference count reaches 0, it should be deleted.

Why not keep filters internally here and read a filter id from route? Well because we cannot assume when to increment and decrement the reference count. Say it's a normal route lookup and we do the filtering, and it results to "accepted". It doesn't imply we need to +1 the reference count.

 VersionFilter (const VarRW::Id& fname)

VersionFilter

Parameters:

fnamethe variable to read/write in order to access filter.
 ~VersionFilter ()

~VersionFilter

void  configure (const string& str)

configure

Configure the filter

Parameters:

strfilter configuration.

Reimplemented from FilterBase.

void  reset ()

reset

Reset the filter.

Filter becomes a NO-operation -- default action should be returned everytime an acceptRoute is called.

Reimplemented from FilterBase.

bool  acceptRoute (VarRW& varrw)

acceptRoute

See if a route is accepted by the filter. The route may be modified by the filter [through VarRW].

Parameters:

varrwthe VarRW associated with the route being filtered.

Returns: true if the route is accepted, false otherwise.

Reimplemented from FilterBase.


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