diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-04-07 14:11:47 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-04-07 14:11:47 -0700 |
commit | 8210ed480553a5e98268da7147ce332d1f7643d0 (patch) | |
tree | dbcb7f3436f35d5d93011d092c0ccd66f815bf93 | |
parent | 0a906818494814f308f1c6a0c208aa8ed76ef52a (diff) | |
download | infinitytier-8210ed480553a5e98268da7147ce332d1f7643d0.tar.gz infinitytier-8210ed480553a5e98268da7147ce332d1f7643d0.zip |
Implement read from object store.
-rw-r--r-- | node/Node.cpp | 18 | ||||
-rw-r--r-- | node/Node.hpp | 2 |
2 files changed, 15 insertions, 5 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index 59bb3dd3..39132302 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -158,7 +158,7 @@ ZT1_ResultCode Node::multicastSubscribe(uint64_t nwid,uint64_t multicastGroup,un Mutex::Lock _l(_networks_m); std::map< uint64_t,SharedPtr<Network> >::iterator nw(_networks.find(nwid)); if (nw != _networks.end()) - nw->second->multicastSubscribe(MulticastGroup(MAC(multicastGroup,(uint32_t)(multicastAdi & 0xffffffff)))); + nw->second->multicastSubscribe(MulticastGroup(MAC(multicastGroup),(uint32_t)(multicastAdi & 0xffffffff))); } ZT1_ResultCode Node::multicastUnsubscribe(uint64_t nwid,uint64_t multicastGroup,unsigned long multicastAdi) @@ -166,7 +166,7 @@ ZT1_ResultCode Node::multicastUnsubscribe(uint64_t nwid,uint64_t multicastGroup, Mutex::Lock _l(_networks_m); std::map< uint64_t,SharedPtr<Network> >::iterator nw(_networks.find(nwid)); if (nw != _networks.end()) - nw->second->multicastUnsubscribe(MulticastGroup(MAC(multicastGroup,(uint32_t)(multicastAdi & 0xffffffff)))); + nw->second->multicastUnsubscribe(MulticastGroup(MAC(multicastGroup),(uint32_t)(multicastAdi & 0xffffffff))); } void Node::status(ZT1_NodeStatus *status) @@ -210,6 +210,16 @@ void Node::setNetconfMaster(void *networkConfigMasterInstance) std::string Node::dataStoreGet(const char *name) { + char buf[16384]; + std::string r; + unsigned long olen = 0; + do { + long n = _dataStoreGetFunction(reinterpret_cast<ZT1_Node *>(this),name,buf,sizeof(buf),r.length(),&olen); + if (n <= 0) + return std::string(); + r.append(buf,n); + } while (r.length() < olen); + return r; } void Node::postNewerVersionIfNewer(unsigned int major,unsigned int minor,unsigned int rev) @@ -364,7 +374,7 @@ void ZT1_Node_status(ZT1_Node *node,ZT1_NodeStatus *status) ZT1_PeerList *ZT1_Node_peers(ZT1_Node *node) { try { - return reinterpret_cast<ZeroTier::Node *>(node)->listPeers(); + return reinterpret_cast<ZeroTier::Node *>(node)->peers(); } catch ( ... ) { return (ZT1_PeerList *)0; } @@ -382,7 +392,7 @@ ZT1_VirtualNetworkConfig *ZT1_Node_networkConfig(ZT1_Node *node,uint64_t nwid) ZT1_VirtualNetworkList *ZT1_Node_networks(ZT1_Node *node) { try { - return reinterpret_cast<ZeroTier::Node *>(node)->listNetworks(); + return reinterpret_cast<ZeroTier::Node *>(node)->networks(); } catch ( ... ) { return (ZT1_VirtualNetworkList *)0; } diff --git a/node/Node.hpp b/node/Node.hpp index 07bbbf8b..3f6bbc46 100644 --- a/node/Node.hpp +++ b/node/Node.hpp @@ -92,7 +92,7 @@ public: ZT1_ResultCode multicastUnsubscribe(uint64_t nwid,uint64_t multicastGroup,unsigned long multicastAdi); void status(ZT1_NodeStatus *status); ZT1_PeerList *peers(); - bool networkConfig(uint64_t nwid,ZT1_VirtualNetworkConfig *ec); + ZT1_VirtualNetworkConfig *networkConfig(uint64_t nwid); ZT1_VirtualNetworkList *networks(); void freeQueryResult(void *qr); void setNetconfMaster(void *networkConfigMasterInstance); |