diff options
Diffstat (limited to 'src/routingTable.h')
-rw-r--r-- | src/routingTable.h | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/src/routingTable.h b/src/routingTable.h index 4a60ec3..8fb1f64 100644 --- a/src/routingTable.h +++ b/src/routingTable.h @@ -11,7 +11,7 @@ * tunneling and relaying of packets of any protocol. * * - * Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl, + * Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl, * Christian Pointner <satp@wirdorange.org> * * This file is part of Anytun. @@ -47,34 +47,37 @@ typedef std::map<NetworkPrefix,u_int16_t> RoutingMap; class RoutingTable { public: - static RoutingTable& instance(); - RoutingTable(); - ~RoutingTable(); - void addRoute(const NetworkPrefix & ,u_int16_t); - void updateRouteTreeUnlocked(const NetworkPrefix & pref); - void delRoute(const NetworkPrefix & ); - u_int16_t getRoute(const NetworkAddress &); - bool empty(network_address_type_t type); - void clear(network_address_type_t type); + static RoutingTable& instance(); + RoutingTable(); + ~RoutingTable(); + void addRoute(const NetworkPrefix& ,u_int16_t); + void updateRouteTreeUnlocked(const NetworkPrefix& pref); + void delRoute(const NetworkPrefix&); + u_int16_t getRoute(const NetworkAddress&); + bool empty(network_address_type_t type); + void clear(network_address_type_t type); Mutex& getMutex(); - u_int16_t* getOrNewRoutingTEUnlocked(const NetworkPrefix & addr); - u_int16_t getCountUnlocked(network_address_type_t type); - RoutingMap::iterator getBeginUnlocked(network_address_type_t type); - RoutingMap::iterator getEndUnlocked(network_address_type_t type); + u_int16_t* getOrNewRoutingTEUnlocked(const NetworkPrefix& addr); + u_int16_t getCountUnlocked(network_address_type_t type); + RoutingMap::iterator getBeginUnlocked(network_address_type_t type); + RoutingMap::iterator getEndUnlocked(network_address_type_t type); private: static Mutex instMutex; - static RoutingTable* inst; - class instanceCleaner { - public: ~instanceCleaner() { - if(RoutingTable::inst != 0) - delete RoutingTable::inst; - } - }; - RoutingTable(const RoutingTable &s); - void operator=(const RoutingTable &s); - boost::array<RoutingMap,3> routes_; - boost::array<RoutingTreeNode,3> root_; + static RoutingTable* inst; + class instanceCleaner + { + public: + ~instanceCleaner() { + if(RoutingTable::inst != 0) { + delete RoutingTable::inst; + } + } + }; + RoutingTable(const RoutingTable& s); + void operator=(const RoutingTable& s); + boost::array<RoutingMap,3> routes_; + boost::array<RoutingTreeNode,3> root_; Mutex mutex_; }; |