class OutputBase

Base class for RIP output processing components. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods

Protected Methods

Protected Members


Detailed Description

RIP output processing components generate periodic trains of RIP response packets. This class and it's children are intended to generate the packet trains from RIP output processing. Each packet within the train is temporally separated from it's neighbouring packets. Timers elsewhere schedule the start of each packet train.

typedef A Addr

Addr

typedef IPNet<A> Net

Net

 OutputBase (EventLoop& e, Port<A>& port, PacketQueue<A>& pkt_queue, const A& ip_addr, uint16_t ip_port)

OutputBase

 ~OutputBase ()

~OutputBase

[virtual]

inline const A&  ip_addr ()

ip_addr

[const]

Accessor for destination IP address applied to output packets.

inline uint16_t  ip_port ()

ip_port

[const]

Accessor for destination IP port applied to output packets.

inline bool  running ()

running

[const]

Returns: true if output process is generating packets.

inline void  start ()

start

Start packet train if sufficient data is available. This instance will remain in "running" so long as data is available and will continue to generate packets until the data is exhausted.

inline void  stop ()

stop

Stop packet train.

inline void  packets_sent ()

packets_sent

[const]

Get number of packets placed on packet queue for output.

inline uint32_t  interpacket_gap_ms ()

interpacket_gap_ms

[protected const]

Accessor for the inter-packet gap the output process should when generating packet trains.

void  start_output_processing ()

start_output_processing

[protected pure virtual]

Derived classes should implement this to start output processing. It is invoked when start() is called.

void  stop_output_processing ()

stop_output_processing

[protected pure virtual]

Derived classes should implement this to stop output processing. It is invoked when stop() is called.

void  output_packet ()

output_packet

[protected pure virtual]

Output packet if suitable data is available, and place it in the PacketQueue associated with this instance. Should data still be available after packet is generated then implementations of this method should reschedule a call to output_packet after interpacket_gap_ms milliseconds.

inline void  incr_packets_sent ()

incr_packets_sent

[protected]

bool  do_filtering (RouteEntry<A>* r)

do_filtering

[protected]

Policy filters the route.

Parameters:

rroute to filter.

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

EventLoop& _e

_e

[protected]

Port<A>& _port

_port

[protected]

PacketQueue<A>& _pkt_queue

_pkt_queue

[protected]

const A _ip_addr

_ip_addr

[protected]

const uint16_t _ip_port

_ip_port

[protected]

XorpTimer _op_timer

_op_timer

[protected]

uint32_t _pkts_out

_pkts_out

[protected]

PolicyFilters& _policy_filters

_policy_filters

[protected]

template <typename A>  OutputBase (EventLoop& e, Port<A>& port, PacketQueue<A>& pkt_queue, const A& ip_addr, uint16_t ip_port)

OutputBase

[protected]

template <typename A> inline bool  running ()

running

[protected const]

template <typename A> inline void  start ()

start

[protected]

template <typename A> inline void  stop ()

stop

[protected]

template <typename A> inline uint32_t  interpacket_gap_ms ()

interpacket_gap_ms

[protected const]

template <typename A> bool  do_filtering (RouteEntry<A>* route)

do_filtering

[protected]


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