ns2 Network Simulator      C++ Class Hierarchy of version ns-snapshot-20040722
|  Home |  Source Code |  Manual |  FAQ |  Mailing List Archive |  Search |  |  Download | 


Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Classifier Class Reference

#include <classifier.h>

Inheritance diagram for Classifier:

NsObject TclObject Handler AddressClassifier HashClassifier HierClassifier LmsClassifier MacClassifier MCastClassifier MultiPathForwarder NixClassifier PortClassifier QSClassifier Replicator SRClassifier VirtualClassifier List of all members.

Public Types

enum  classify_ret { ONCE = -2, TWICE = -1 }

Public Member Functions

 Classifier ()
virtual ~Classifier ()
int maxslot () const
NsObject * slot (int slot)
int mshift (int val)
void set_default_target (NsObject *obj)
virtual void recv (Packet *p, Handler *h)
virtual NsObject * find (Packet *)
virtual int classify (Packet *)
virtual void clear (int slot)
virtual void do_install (char *dst, NsObject *target)
int install_next (NsObject *node)
virtual void install (int slot, NsObject *)
void set_table_size (int nn)
virtual void set_table_size (int level, int nn)

Protected Member Functions

virtual int getnxt (NsObject *)
virtual int command (int argc, const char *const *argv)
void alloc (int)

Protected Attributes

NsObject ** slot_
int nslot_
int maxslot_
int offset_
int shift_
int mask_
NsObject * default_target_
int nsize_

Member Enumeration Documentation

enum Classifier::classify_ret
 

Enumeration values:
ONCE 
TWICE 


Constructor & Destructor Documentation

Classifier::Classifier (    ) 
 

Classifier::~Classifier (    )  [virtual]
 


Member Function Documentation

void Classifier::alloc (  int    )  [protected]
 

int Classifier::classify (  Packet *    )  [virtual]
 

Reimplemented in AddressClassifier, ReserveAddressClassifier, MCastBSTClassifier, HashClassifier, DestHashClassifier, MCastClassifier, MultiPathForwarder, PortClassifier, Replicator, and MPLSAddressClassifier.

void Classifier::clear (  int    slot )  [virtual]
 

Reimplemented in ReserveAddressClassifier, and ReservePortClassifier.

int Classifier::command (  int    argc,
const char *const *    argv
)  [protected, virtual]
 

Reimplemented from NsObject.

Reimplemented in ReserveAddressClassifier, BcastAddressClassifier, HashClassifier, DestHashClassifier, HierClassifier, MCastClassifier, ReservePortClassifier, VirtualClassifier, Replicator, MPLSAddressClassifier, and NixClassifier.

virtual void Classifier::do_install (  char *    dst,
NsObject *    target
)  [inline, virtual]
 

Reimplemented in DestHashClassifier, HierClassifier, and VirtualClassifier.

NsObject * Classifier::find (  Packet *    )  [virtual]
 

Reimplemented in BcastAddressClassifier, QSClassifier, NixClassifier, and SRClassifier.

int Classifier::getnxt (  NsObject *    )  [protected, virtual]
 

Reimplemented in ReserveAddressClassifier, and ReservePortClassifier.

void Classifier::install (  int    slot,
NsObject *   
)  [virtual]
 

Reimplemented in MPLSAddressClassifier.

int Classifier::install_next (  NsObject *    node ) 
 

int Classifier::maxslot (    )  const [inline]
 

int Classifier::mshift (  int    val )  [inline]
 

void Classifier::recv (  Packet *    p,
Handler *    h
)  [virtual]
 

Implements NsObject.

Reimplemented in MCastBSTClassifier, HierClassifier, MacClassifier, VirtualClassifier, Replicator, and MIPDecapsulator.

void Classifier::set_default_target (  NsObject *    obj )  [inline]
 

virtual void Classifier::set_table_size (  int    level,
int    nn
)  [inline, virtual]
 

Reimplemented in HierClassifier.

void Classifier::set_table_size (  int    nn ) 
 

Reimplemented in HashClassifier.

NsObject* Classifier::slot (  int    slot )  [inline]
 


Member Data Documentation

NsObject* Classifier::default_target_ [protected]
 

int Classifier::mask_ [protected]
 

int Classifier::maxslot_ [protected]
 

int Classifier::nsize_ [protected]
 

int Classifier::nslot_ [protected]
 

int Classifier::offset_ [protected]
 

int Classifier::shift_ [protected]
 

NsObject** Classifier::slot_ [protected]
 


The documentation for this class was generated from the following files:
This document is generated by doxygen.