diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-09-24 17:35:05 -0400 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-09-24 17:35:05 -0400 |
commit | 5557a8192db253ed125db26a3b8761fd528c2781 (patch) | |
tree | 3ea731809f8fb7cb90e057d7fef97c03183ca86d /node/Network.hpp | |
parent | bddbf4d2760c68efec2c11507243586031d6bf05 (diff) | |
download | infinitytier-5557a8192db253ed125db26a3b8761fd528c2781.tar.gz infinitytier-5557a8192db253ed125db26a3b8761fd528c2781.zip |
Work in progress...
Diffstat (limited to 'node/Network.hpp')
-rw-r--r-- | node/Network.hpp | 59 |
1 files changed, 11 insertions, 48 deletions
diff --git a/node/Network.hpp b/node/Network.hpp index dd6c5254..9663b982 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -319,34 +319,6 @@ public: } /** - * @return Breadth for multicast propagation - */ - inline unsigned int multicastPropagationBreadth() const - { - const_iterator mcb(find("mcb")); - if (mcb == end()) - return ZT_MULTICAST_DEFAULT_PROPAGATION_BREADTH; - unsigned int mcb2 = Utils::hexStrToUInt(mcb->second.c_str()); - if (mcb2) - return mcb2; - return ZT_MULTICAST_DEFAULT_PROPAGATION_BREADTH; - } - - /** - * @return Depth for multicast propagation - */ - inline unsigned int multicastPropagationDepth() const - { - const_iterator mcd(find("mcd")); - if (mcd == end()) - return ZT_MULTICAST_DEFAULT_PROPAGATION_DEPTH; - unsigned int mcd2 = Utils::hexStrToUInt(mcd->second.c_str()); - if (mcd2) - return mcd2; - return ZT_MULTICAST_DEFAULT_PROPAGATION_DEPTH; - } - - /** * @return Certificate of membership for this network, or empty cert if none */ inline CertificateOfMembership certificateOfMembership() const @@ -462,6 +434,7 @@ private: * Causes all persistent disk presence to be erased on delete */ inline void destroyOnDelete() + throw() { _destroyOnDelete = true; } @@ -498,12 +471,8 @@ public: inline bool isOpen() const throw() { - try { - Mutex::Lock _l(_lock); - return _configuration.isOpen(); - } catch ( ... ) { - return false; - } + Mutex::Lock _l(_lock); + return _isOpen; } /** @@ -616,21 +585,12 @@ public: } /** - * @return Breadth for multicast rumor mill propagation - */ - inline unsigned int multicastPropagationBreadth() const - throw() - { - return _multicastPropagationBreadth; - } - - /** - * @return Depth for multicast rumor mill propagation + * @return Multicaster for this network */ - inline unsigned int multicastPropagationDepth() const + inline Multicaster &multicaster() throw() { - return _multicastPropagationDepth; + return _multicaster; } private: @@ -653,12 +613,15 @@ private: Config _configuration; CertificateOfMembership _myCertificate; // memoized from _configuration MulticastRates _mcRates; // memoized from _configuration - unsigned int _multicastPropagationBreadth; // memoized from _configuration - unsigned int _multicastPropagationDepth; // memoized from _configuration + std::set<InetAddress> _staticAddresses; // memoized from _configuration + bool _isOpen; // memoized from _configuration // Ethertype whitelist bit field, set from config, for really fast lookup unsigned char _etWhitelist[65536 / 8]; + // Multicast propagation database + Multicaster _multicaster; + uint64_t _id; volatile uint64_t _lastConfigUpdate; volatile bool _destroyOnDelete; |