| 
 | 
 | ||||||||||||||||
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 | 
| 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:
| r | route 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]