diff --git a/core/Node.hpp b/core/Node.hpp index dbe73d23d..4249fe9e2 100644 --- a/core/Node.hpp +++ b/core/Node.hpp @@ -248,9 +248,7 @@ public: * @param md Event data or NULL if none */ ZT_INLINE void postEvent(void *tPtr, ZT_Event ev, const void *md = nullptr) noexcept - { - m_cb.eventCallback(reinterpret_cast(this), m_uPtr, tPtr, ev, md); - } + { m_cb.eventCallback(reinterpret_cast(this), m_uPtr, tPtr, ev, md); } /** * Post network port configuration via external callback @@ -262,9 +260,7 @@ public: * @param nc Network config info */ ZT_INLINE void configureVirtualNetworkPort(void *tPtr, uint64_t nwid, void **nuptr, ZT_VirtualNetworkConfigOperation op, const ZT_VirtualNetworkConfig *nc) noexcept - { - m_cb.virtualNetworkConfigFunction(reinterpret_cast(this), m_uPtr, tPtr, nwid, nuptr, op, nc); - } + { m_cb.virtualNetworkConfigFunction(reinterpret_cast(this), m_uPtr, tPtr, nwid, nuptr, op, nc); } /** * @return True if node appears online diff --git a/core/ScopedPtr.hpp b/core/ScopedPtr.hpp index 33a906d38..84ef0eacb 100644 --- a/core/ScopedPtr.hpp +++ b/core/ScopedPtr.hpp @@ -24,16 +24,24 @@ namespace ZeroTier { * * This is used in the core to avoid requiring C++11 and because auto_ptr is weird. */ -template +template< typename T > class ScopedPtr : public TriviallyCopyable { public: - explicit ZT_INLINE ScopedPtr(T *const p) noexcept : m_ptr(p) {} - ZT_INLINE ~ScopedPtr() { delete m_ptr; } + explicit ZT_INLINE ScopedPtr(T *const p) noexcept: m_ptr(p) + {} - ZT_INLINE T *operator->() const noexcept { return m_ptr; } - ZT_INLINE T &operator*() const noexcept { return *m_ptr; } - ZT_INLINE T *ptr() const noexcept { return m_ptr; } + ZT_INLINE ~ScopedPtr() + { delete m_ptr; } + + ZT_INLINE T *operator->() const noexcept + { return m_ptr; } + + ZT_INLINE T &operator*() const noexcept + { return *m_ptr; } + + ZT_INLINE T *ptr() const noexcept + { return m_ptr; } ZT_INLINE void swap(const ScopedPtr &p) noexcept { @@ -42,17 +50,30 @@ public: p.m_ptr = tmp; } - explicit ZT_INLINE operator bool() const noexcept { return (m_ptr != (T *)0); } + explicit ZT_INLINE operator bool() const noexcept + { return (m_ptr != (T *)0); } - ZT_INLINE bool operator==(const ScopedPtr &p) const noexcept { return (m_ptr == p.m_ptr); } - ZT_INLINE bool operator!=(const ScopedPtr &p) const noexcept { return (m_ptr != p.m_ptr); } - ZT_INLINE bool operator==(T *const p) const noexcept { return (m_ptr == p); } - ZT_INLINE bool operator!=(T *const p) const noexcept { return (m_ptr != p); } + ZT_INLINE bool operator==(const ScopedPtr &p) const noexcept + { return (m_ptr == p.m_ptr); } + + ZT_INLINE bool operator!=(const ScopedPtr &p) const noexcept + { return (m_ptr != p.m_ptr); } + + ZT_INLINE bool operator==(T *const p) const noexcept + { return (m_ptr == p); } + + ZT_INLINE bool operator!=(T *const p) const noexcept + { return (m_ptr != p); } private: - ZT_INLINE ScopedPtr() noexcept {} - ZT_INLINE ScopedPtr(const ScopedPtr &p) noexcept : m_ptr(nullptr) {} - ZT_INLINE ScopedPtr &operator=(const ScopedPtr &p) noexcept { return *this; } + ZT_INLINE ScopedPtr() noexcept + {} + + ZT_INLINE ScopedPtr(const ScopedPtr &p) noexcept: m_ptr(nullptr) + {} + + ZT_INLINE ScopedPtr &operator=(const ScopedPtr &p) noexcept + { return *this; } T *const m_ptr; }; @@ -60,8 +81,9 @@ private: } // namespace ZeroTier namespace std { -template -ZT_INLINE void swap(ZeroTier::ScopedPtr &a,ZeroTier::ScopedPtr &b) noexcept { a.swap(b); } +template< typename T > +ZT_INLINE void swap(ZeroTier::ScopedPtr< T > &a, ZeroTier::ScopedPtr< T > &b) noexcept +{ a.swap(b); } } #endif diff --git a/core/SelfAwareness.hpp b/core/SelfAwareness.hpp index 12d9d44f1..f488ff42e 100644 --- a/core/SelfAwareness.hpp +++ b/core/SelfAwareness.hpp @@ -108,13 +108,13 @@ private: struct p_PhySurfaceEntry { InetAddress mySurface; - uint64_t ts; + int64_t ts; bool trusted; ZT_INLINE p_PhySurfaceEntry() noexcept: mySurface(), ts(0), trusted(false) {} - ZT_INLINE p_PhySurfaceEntry(const InetAddress &a, const uint64_t t) noexcept: mySurface(a), ts(t), trusted(false) + ZT_INLINE p_PhySurfaceEntry(const InetAddress &a, const int64_t t) noexcept: mySurface(a), ts(t), trusted(false) {} }; diff --git a/core/SymmetricKey.hpp b/core/SymmetricKey.hpp index e011a8549..044c00704 100644 --- a/core/SymmetricKey.hpp +++ b/core/SymmetricKey.hpp @@ -86,17 +86,13 @@ public: * @return Next unique IV for next message */ ZT_INLINE uint64_t nextMessage(const Address sender, const Address receiver) noexcept - { - return m_nonce.fetch_add(1) ^ (((uint64_t)(sender > receiver)) << 63U); - } + { return m_nonce.fetch_add(1) ^ (((uint64_t)(sender > receiver)) << 63U); } /** * @return Number of times nextMessage() has been called since object creation */ ZT_INLINE uint64_t odometer() const noexcept - { - return m_nonce.load() - m_initialNonce; - } + { return m_nonce.load() - m_initialNonce; } private: const uint64_t m_initialNonce;