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]

const A&  ip_addr ()

ip_addr

[const]

Accessor for destination IP address applied to output packets.

uint16_t  ip_port ()

ip_port

[const]

Accessor for destination IP port applied to output packets.

bool  running ()

running

[const]

Returns: true if output process is generating packets.

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.

void  stop ()

stop

Stop packet train.

void  packets_sent ()

packets_sent

[const]

Get number of packets placed on packet queue for output.

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.

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: bms on anglepoise.lon.incunabulum.net on Wed Jul 23 10:06:09 2008, using kdoc 2.0a54+XORP.