xorp

IoLinkComm::InputFilter Class Reference

Filter class. More...

#include <io_link_manager.hh>

Inheritance diagram for IoLinkComm::InputFilter:
LinkVifInputFilter TxOnlyFilter

List of all members.

Public Member Functions

 InputFilter (IoLinkManager &io_link_manager, const string &receiver_name, const string &if_name, const string &vif_name, uint16_t ether_type, const string &filter_program)
IoLinkManagerio_link_manager ()
 Get a reference to the I/O Link manager.
const IoLinkManagerio_link_manager () const
 Get a const reference to the I/O Link manager.
const string & receiver_name () const
 Get the receiver name.
const string & if_name () const
 Get the interface name.
const string & vif_name () const
 Get the vif name.
uint16_t ether_type () const
 Get the EtherType protocol number.
const string & filter_program () const
 Get the filter program.
virtual void recv (const struct MacHeaderInfo &header, const vector< uint8_t > &payload)=0
 Method invoked when data arrives on associated IoLinkComm instance.
virtual void bye ()=0
 Method invoked by the destructor of the associated IoLinkComm instance.

Private Attributes

IoLinkManager_io_link_manager
string _receiver_name
string _if_name
string _vif_name
uint16_t _ether_type
string _filter_program

Detailed Description

Filter class.


Member Function Documentation

virtual void IoLinkComm::InputFilter::bye ( ) [pure virtual]

Method invoked by the destructor of the associated IoLinkComm instance.

This method provides the InputFilter with the opportunity to delete itself or update its state. The input filter does not need to call IoLinkComm::remove_filter() since filter removal is automatically conducted.

Implemented in TxOnlyFilter, and LinkVifInputFilter.

uint16_t IoLinkComm::InputFilter::ether_type ( ) const [inline]

Get the EtherType protocol number.

Returns:
the EtherType protocol number.
const string& IoLinkComm::InputFilter::filter_program ( ) const [inline]

Get the filter program.

Returns:
the filter program.
const string& IoLinkComm::InputFilter::if_name ( ) const [inline]

Get the interface name.

Returns:
the interface name.
const IoLinkManager& IoLinkComm::InputFilter::io_link_manager ( ) const [inline]

Get a const reference to the I/O Link manager.

Returns:
a const reference to the I/O Link manager.
IoLinkManager& IoLinkComm::InputFilter::io_link_manager ( ) [inline]

Get a reference to the I/O Link manager.

Returns:
a reference to the I/O Link manager.
const string& IoLinkComm::InputFilter::receiver_name ( ) const [inline]

Get the receiver name.

Returns:
the receiver name.
const string& IoLinkComm::InputFilter::vif_name ( ) const [inline]

Get the vif name.

Returns:
the vif name.

The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations