X-Git-Url: https://git.syn-net.org/debian/?p=anytun.git;a=blobdiff_plain;f=src%2FroutingTable.h;h=48e7617cf1803941a635ee308a48ae17a22707d0;hp=4a60ec39a514f4e31d9473e9e8a24311afd64910;hb=ef0cacf2508418915d3f64b04003be3c13fed3cc;hpb=ece844834d2cecc028ce81ca283f5d441088580e diff --git a/src/routingTable.h b/src/routingTable.h index 4a60ec3..48e7617 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 * * This file is part of Anytun. @@ -42,39 +42,42 @@ #include "networkPrefix.h" #include "routingTreeNode.h" #include "boost/array.hpp" -typedef std::map RoutingMap; +typedef std::map 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& ,uint16_t); + void updateRouteTreeUnlocked(const NetworkPrefix& pref); + void delRoute(const NetworkPrefix&); + uint16_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); + uint16_t* getOrNewRoutingTEUnlocked(const NetworkPrefix& addr); + uint16_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 routes_; - boost::array 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 routes_; + boost::array root_; Mutex mutex_; };