diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-04-01 14:59:44 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-04-01 14:59:44 -0700 |
| commit | 8130848020d901893e7af2963b3a5fbea3abb74c (patch) | |
| tree | bade0f7b9668f7ecfc4de5bd2198dee39b2536b0 /node/Node.cpp | |
| parent | 7ff0cab1b7b6a9bfe5880dd4fefbd947c6eb78e2 (diff) | |
| download | infinitytier-8130848020d901893e7af2963b3a5fbea3abb74c.tar.gz infinitytier-8130848020d901893e7af2963b3a5fbea3abb74c.zip | |
More refactoring... and update the API a bit... turns out my strategy for reducing indirect function calls also increased memcpy()s which are more expensive. This is simpler and faster.
Diffstat (limited to 'node/Node.cpp')
| -rw-r--r-- | node/Node.cpp | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index 7b51d3bd..0808062f 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -44,19 +44,15 @@ namespace ZeroTier { Node::Node( ZT1_DataStoreGetFunction *dataStoreGetFunction, ZT1_DataStorePutFunction *dataStorePutFunction, + ZT1_WirePacketSendFunction *wirePacketSendFunction, + ZT1_VirtualNetworkFrameFunction *virtualNetworkFrameFunction, ZT1_VirtualNetworkConfigCallback *networkConfigCallback, ZT1_StatusCallback *statusCallback) : RR(new RuntimeEnvironment(this)), - _outputWireMessages((ZT1_WireMessage *)0), - _outputWireMessageCount(0), - _outputWireMessageCapacity(8), - _outputWireMessages_m(), - _outputFrames((ZT1_VirtualNetworkFrame *)0), - _outputFrameCount(0), - _outputFrameCapacity(8), - _outputFrames_m(), _dataStoreGetFunction(dataStoreGetFunction), _dataStorePutFunction(dataStorePutFunction), + _wirePacketSendFunction(wirePacketSendFunction), + _virtualNetworkFrameFunction(virtualNetworkFrameFunction), _networkConfigCallback(networkConfigCallback), _statusCallback(statusCallback), _networks(), @@ -67,16 +63,12 @@ Node::Node( _spamCounter(0) { try { - _outputWireMessages = new ZT1_WireMessage[_outputWireMessageCapacity]; - _outputFrames = new ZT1_VirtualNetworkFrame[_outputFrameCapacity]; RR->prng = new CMWC4096(); RR->sw = new Switch(RR); RR->mc = new Multicaster(RR); RR->antiRec = new AntiRecursion(RR); RR->topology = new Topology(RR); } catch ( ... ) { - delete [] _outputFrames; - delete [] _outputWireMessages; delete RR->topology; delete RR->antiRec; delete RR->mc; @@ -90,8 +82,6 @@ Node::Node( Node::~Node() { - delete [] _outputFrames; - delete [] _outputWireMessages; delete RR->topology; delete RR->antiRec; delete RR->mc; @@ -101,25 +91,19 @@ Node::~Node() delete RR; } -ZT1_ResultCode Node::run( - uint64_t now, - const ZT1_WireMessage *inputWireMessages, - unsigned int inputWireMessageCount, - const ZT1_VirtualNetworkFrame *inputFrames, - unsigned int inputFrameCount, - const ZT1_WireMessage **outputWireMessages, - unsigned int *outputWireMessageCount, - const ZT1_VirtualNetworkFrame **outputFrames, - unsigned int *outputLanFrameCount, - unsigned long *maxNextInterval) +ZT1_ResultCode Node::join(uint64_t nwid) { } -ZT1_ResultCode Node::join(uint64_t nwid) +ZT1_ResultCode Node::leave(uint64_t nwid) { } -ZT1_ResultCode Node::leave(uint64_t nwid) +ZT1_ResultCode Node::multicastSubscribe(ZT1_Node *node,uint64_t nwid,uint64_t multicastGroup,unsigned long multicastAdi) +{ +} + +ZT1_ResultCode Node::multicastUnsubscribe(ZT1_Node *node,uint64_t nwid,uint64_t multicastGroup,unsigned long multicastAdi) { } |
