NhLookupTable< A > Class Template Reference

Inheritance diagram for NhLookupTable< A >:
BGPRouteTable< A > DummyNhLookupTable< A >

List of all members.

Public Member Functions

 NhLookupTable (string tablename, Safi safi, NextHopResolver< A > *nexthop_resolver, BGPRouteTable< A > *parent)
int add_route (InternalMessage< A > &rtmsg, BGPRouteTable< A > *caller)
int replace_route (InternalMessage< A > &old_rtmsg, InternalMessage< A > &new_rtmsg, BGPRouteTable< A > *caller)
int delete_route (InternalMessage< A > &rtmsg, BGPRouteTable< A > *caller)
int push (BGPRouteTable< A > *caller)
const SubnetRoute< A > * lookup_route (const IPNet< A > &net, uint32_t &genid, FPAListRef &pa_list) const
void route_used (const SubnetRoute< A > *route, bool in_use)
virtual void RIB_lookup_done (const A &nexthop, const set< IPNet< A > > &nets, bool lookup_succeeded)
RouteTableType type () const
string str () const

Private Member Functions

void add_to_queue (const A &nexthop, const IPNet< A > &net, InternalMessage< A > *new_msg, InternalMessage< A > *old_msg)
 Add the message queue entry to both queues.
MessageQueueEntry< A > * lookup_in_queue (const A &nexthop, const IPNet< A > &net) const
 Lookup subnet in the _queue_by_net.
void remove_from_queue (const A &nexthop, const IPNet< A > &net)
 Find the message queue entry and remove from both queues.

Private Attributes

RefTrie< A, MessageQueueEntry
< A > > 
multimap< A, MessageQueueEntry
< A > * > 
NextHopResolver< A > * _next_hop_resolver

template<class A>
class NhLookupTable< A >

Member Function Documentation

template<class A >
MessageQueueEntry< A > * NhLookupTable< A >::lookup_in_queue ( const A &  nexthop,
const IPNet< A > &  net 
) const [private]

Lookup subnet in the _queue_by_net.

nexthopif non zero compare against the net that is found.
netto lookup.
a message queue entry if found else zero.

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