xorp

OutputUpdates< A > Class Template Reference

Triggered Updates Output class. More...

#include <output_updates.hh>

Inheritance diagram for OutputUpdates< A >:
OutputBase< A > NONCOPYABLE

List of all members.

Public Member Functions

 OutputUpdates (EventLoop &e, Port< A > &port, PacketQueue< A > &pkt_queue, RouteDB< A > &rdb, const A &ip_addr=RIP_AF_CONSTANTS< A >::IP_GROUP(), uint16_t ip_port=RIP_AF_CONSTANTS< A >::IP_PORT)
void ffwd ()
 Fast forward iterator doing triggered up reading.

Protected Member Functions

void output_packet ()
 Output packet if suitable data is available, and place it in the PacketQueue associated with this instance.
void start_output_processing ()
 Derived classes should implement this to start output processing.
void stop_output_processing ()
 Derived classes should implement this to stop output processing.

Private Attributes

UpdateQueue< A > & _uq
UpdateQueue< A >::ReadIterator _uq_iter

Detailed Description

template<typename A>
class OutputUpdates< A >

Triggered Updates Output class.

The OutputUpdate class produces an asynchronous sequence of triggered update packets.

Specialized implementations exist for IPv4 and IPv6. Non-copyable due to inheritance from OutputBase.


Member Function Documentation

template<typename A >
void OutputUpdates< A >::ffwd ( )

Fast forward iterator doing triggered up reading.

Triggered updates do not run during periodic route table dumps. This method should be called immediately before halting for periodic update as it will effectively stop the output of updates that are already covered in table dump.

template<typename A >
void OutputUpdates< A >::output_packet ( ) [protected, 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.

Implements OutputBase< A >.

template<typename A >
void OutputUpdates< A >::start_output_processing ( ) [protected, virtual]

Derived classes should implement this to start output processing.

It is invoked when start() is called.

Implements OutputBase< A >.

template<typename A >
void OutputUpdates< A >::stop_output_processing ( ) [protected, virtual]

Derived classes should implement this to stop output processing.

It is invoked when stop() is called.

Implements OutputBase< A >.


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