summaryrefslogtreecommitdiff
path: root/node/OutboundMulticast.hpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-09-24 13:45:58 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-09-24 13:45:58 -0700
commit431476e2e4474c83013c2a1a6d80f1e815a2d37c (patch)
tree2c1a6e2aabee108695d1f993e3085b0ed923f7e3 /node/OutboundMulticast.hpp
parent557801a09ef31c243add5f6d6de7a5f67af53ed2 (diff)
downloadinfinitytier-431476e2e4474c83013c2a1a6d80f1e815a2d37c.tar.gz
infinitytier-431476e2e4474c83013c2a1a6d80f1e815a2d37c.zip
Some more multicast algo work...
Diffstat (limited to 'node/OutboundMulticast.hpp')
-rw-r--r--node/OutboundMulticast.hpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/node/OutboundMulticast.hpp b/node/OutboundMulticast.hpp
index f8338b93..3ef9532b 100644
--- a/node/OutboundMulticast.hpp
+++ b/node/OutboundMulticast.hpp
@@ -51,6 +51,13 @@ class OutboundMulticast
{
public:
/**
+ * Create an uninitialized outbound multicast
+ *
+ * It must be initialized with init().
+ */
+ OutboundMulticast() {}
+
+ /**
* Initialize outbound multicast
*
* @param timestamp Creation time
@@ -63,13 +70,13 @@ public:
* @param len Length of data
* @throws std::out_of_range Data too large to fit in a MULTICAST_FRAME
*/
- OutboundMulticast(uint64_t timestamp,const Address &self,uint64_t nwid,const MAC &src,const MulticastGroup &dest,unsigned int etherType,const void *payload,unsigned int len) :
- _timestamp(timestamp),
- _nwid(nwid),
- _source(src),
- _destination(dest),
- _etherType(etherType)
+ inline void init(uint64_t timestamp,const Address &self,uint64_t nwid,const MAC &src,const MulticastGroup &dest,unsigned int etherType,const void *payload,unsigned int len)
{
+ _timestamp = timestamp;
+ _nwid = nwid;
+ _source = src;
+ _destination = dest;
+ _etherType = etherType;
_packet.setSource(self);
_packet.setVerb(Packet::VERB_MULTICAST_FRAME);
_packet.append((char)0);