diff options
Diffstat (limited to 'node/Node.cpp')
| -rw-r--r-- | node/Node.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index 0192c49a..d6b799e9 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -317,7 +317,12 @@ ZT1_ResultCode Node::multicastUnsubscribe(uint64_t nwid,uint64_t multicastGroup, return ZT1_RESULT_OK; } -void Node::status(ZT1_NodeStatus *status) +uint64_t Node::address() const +{ + return RR->identity.address().toInt(); +} + +void Node::status(ZT1_NodeStatus *status) const { status->address = RR->identity.address().toInt(); status->publicIdentity = RR->publicIdentityStr.c_str(); @@ -325,7 +330,7 @@ void Node::status(ZT1_NodeStatus *status) status->online = _online ? 1 : 0; } -ZT1_PeerList *Node::peers() +ZT1_PeerList *Node::peers() const { std::map< Address,SharedPtr<Peer> > peers(RR->topology->allPeers()); @@ -365,7 +370,7 @@ ZT1_PeerList *Node::peers() return pl; } -ZT1_VirtualNetworkConfig *Node::networkConfig(uint64_t nwid) +ZT1_VirtualNetworkConfig *Node::networkConfig(uint64_t nwid) const { Mutex::Lock _l(_networks_m); std::map< uint64_t,SharedPtr<Network> >::iterator nw(_networks.find(nwid)); @@ -377,7 +382,7 @@ ZT1_VirtualNetworkConfig *Node::networkConfig(uint64_t nwid) return (ZT1_VirtualNetworkConfig *)0; } -ZT1_VirtualNetworkList *Node::networks() +ZT1_VirtualNetworkList *Node::networks() const { Mutex::Lock _l(_networks_m); @@ -601,6 +606,11 @@ enum ZT1_ResultCode ZT1_Node_multicastUnsubscribe(ZT1_Node *node,uint64_t nwid,u } } +uint64_t ZT1_Node_address(ZT1_Node *node) +{ + return reinterpret_cast<ZeroTier::Node *>(node)->address(); +} + void ZT1_Node_status(ZT1_Node *node,ZT1_NodeStatus *status) { try { |
