NiceMessage_m.h
Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef _NICEMESSAGE_M_H_
00006 #define _NICEMESSAGE_M_H_
00007
00008 #include <omnetpp.h>
00009
00010
00011 #define MSGC_VERSION 0x0400
00012 #if (MSGC_VERSION!=OMNETPP_VERSION)
00013 # error Version mismatch! Probably this file was generated by an earlier version of opp_msgc: 'make clean' should help.
00014 #endif
00015
00016
00017
00018
00019 #include <CommonMessages_m.h>
00020 #include <NodeHandle.h>
00021
00022 #define TRANSPORTADDRESS_L (IPADDR_L + UDPPORT_L)
00023
00024 static const int NICECOMMAND_L = 8;
00025 static const int LAYER_L = 16;
00026 static const int INT_L = 32;
00027 static const int SIMTIME_L = 32;
00028 static const int BOOL_L = 8;
00029 static const int DOUBLE_L = 64;
00030 static const int SHORT_L = 16;
00031
00032 #define NICEMESSAGE_L(msg) (BASEOVERLAY_L(msg) + NICECOMMAND_L + TRANSPORTADDRESS_L + LAYER_L)
00033 #define NICEMEMBERMESSAGE_L(msg) (NICEMESSAGE_L(msg) + (msg->getMembersArraySize() * TRANSPORTADDRESS_L))
00034 #define NICECLUSTERMERGE_L(msg) (NICEMEMBERMESSAGE_L(msg) + TRANSPORTADDRESS_L)
00035 #define NICEHEARTBEAT_L(msg) (NICEMEMBERMESSAGE_L(msg) + (msg->getDistancesArraySize() * SIMTIME_L) + INT_L + INT_L + SIMTIME_L + INT_L)
00036 #define NICELEADERHEARTBEAT_L(msg) (NICEHEARTBEAT_L(msg) + TRANSPORTADDRESS_L + (msg->getSupercluster_membersArraySize() * TRANSPORTADDRESS_L) + INT_L)
00037 #define CBRAPPMSG_L(msg) (BASEOVERLAY_L(msg) + NICECOMMAND_L + TRANSPORTADDRESS_L + TRANSPORTADDRESS_L + DOUBLE_L + INT_L + INT_L + SHORT_L)
00038
00039
00040
00041
00042
00068 enum NICECommand {
00069 NICE_QUERY = 0,
00070 NICE_QUERY_RESPONSE = 1,
00071 NICE_JOIN_CLUSTER = 2,
00072 NICE_HEARTBEAT = 3,
00073 NICE_LEADERHEARTBEAT = 4,
00074 NICE_LEADERTRANSFER = 5,
00075 NICE_JOINEVAL = 6,
00076 NICE_JOINEVAL_RESPONSE = 7,
00077 NICE_REMOVE = 8,
00078 NICE_PING_PROBE = 9,
00079 NICE_PING_PROBE_RESPONSE = 10,
00080 NICE_CLUSTER_MERGE_REQUEST = 11,
00081 NICE_PEER_TEMPORARY = 12,
00082 NICE_PEER_TEMPORARY_RELEASE = 13,
00083 NICE_POLL_RP = 14,
00084 NICE_POLL_RP_RESPONSE = 15,
00085 NICE_FORCE_MERGE = 16
00086 };
00087
00097 enum CbrAppCommand {
00098 CBR_DATA = 0
00099 };
00100
00112 class NiceMessage : public BaseOverlayMessage
00113 {
00114 protected:
00115 int command_var;
00116 TransportAddress srcNode_var;
00117 short layer_var;
00118
00119
00120 bool operator==(const NiceMessage&);
00121
00122 public:
00123 NiceMessage(const char *name=NULL, int kind=0);
00124 NiceMessage(const NiceMessage& other);
00125 virtual ~NiceMessage();
00126 NiceMessage& operator=(const NiceMessage& other);
00127 virtual NiceMessage *dup() const {return new NiceMessage(*this);}
00128 virtual void parsimPack(cCommBuffer *b);
00129 virtual void parsimUnpack(cCommBuffer *b);
00130
00131
00132 virtual int getCommand() const;
00133 virtual void setCommand(int command_var);
00134 virtual TransportAddress& getSrcNode();
00135 virtual const TransportAddress& getSrcNode() const {return const_cast<NiceMessage*>(this)->getSrcNode();}
00136 virtual void setSrcNode(const TransportAddress& srcNode_var);
00137 virtual short getLayer() const;
00138 virtual void setLayer(short layer_var);
00139 };
00140
00141 inline void doPacking(cCommBuffer *b, NiceMessage& obj) {obj.parsimPack(b);}
00142 inline void doUnpacking(cCommBuffer *b, NiceMessage& obj) {obj.parsimUnpack(b);}
00143
00153 class NiceMemberMessage : public NiceMessage
00154 {
00155 protected:
00156 TransportAddress *members_var;
00157 unsigned int members_arraysize;
00158
00159
00160 bool operator==(const NiceMemberMessage&);
00161
00162 public:
00163 NiceMemberMessage(const char *name=NULL, int kind=0);
00164 NiceMemberMessage(const NiceMemberMessage& other);
00165 virtual ~NiceMemberMessage();
00166 NiceMemberMessage& operator=(const NiceMemberMessage& other);
00167 virtual NiceMemberMessage *dup() const {return new NiceMemberMessage(*this);}
00168 virtual void parsimPack(cCommBuffer *b);
00169 virtual void parsimUnpack(cCommBuffer *b);
00170
00171
00172 virtual void setMembersArraySize(unsigned int size);
00173 virtual unsigned int getMembersArraySize() const;
00174 virtual TransportAddress& getMembers(unsigned int k);
00175 virtual const TransportAddress& getMembers(unsigned int k) const {return const_cast<NiceMemberMessage*>(this)->getMembers(k);}
00176 virtual void setMembers(unsigned int k, const TransportAddress& members_var);
00177 };
00178
00179 inline void doPacking(cCommBuffer *b, NiceMemberMessage& obj) {obj.parsimPack(b);}
00180 inline void doUnpacking(cCommBuffer *b, NiceMemberMessage& obj) {obj.parsimUnpack(b);}
00181
00191 class NiceClusterMerge : public NiceMemberMessage
00192 {
00193 protected:
00194 TransportAddress newClusterLeader_var;
00195
00196
00197 bool operator==(const NiceClusterMerge&);
00198
00199 public:
00200 NiceClusterMerge(const char *name=NULL, int kind=0);
00201 NiceClusterMerge(const NiceClusterMerge& other);
00202 virtual ~NiceClusterMerge();
00203 NiceClusterMerge& operator=(const NiceClusterMerge& other);
00204 virtual NiceClusterMerge *dup() const {return new NiceClusterMerge(*this);}
00205 virtual void parsimPack(cCommBuffer *b);
00206 virtual void parsimUnpack(cCommBuffer *b);
00207
00208
00209 virtual TransportAddress& getNewClusterLeader();
00210 virtual const TransportAddress& getNewClusterLeader() const {return const_cast<NiceClusterMerge*>(this)->getNewClusterLeader();}
00211 virtual void setNewClusterLeader(const TransportAddress& newClusterLeader_var);
00212 };
00213
00214 inline void doPacking(cCommBuffer *b, NiceClusterMerge& obj) {obj.parsimPack(b);}
00215 inline void doUnpacking(cCommBuffer *b, NiceClusterMerge& obj) {obj.parsimUnpack(b);}
00216
00231 class NiceHeartbeat : public NiceMemberMessage
00232 {
00233 protected:
00234 unsigned int seqNo_var;
00235 unsigned int seqRspNo_var;
00236 double hb_delay_var;
00237 double *distances_var;
00238 unsigned int distances_arraysize;
00239 double one_hop_distance_var;
00240 unsigned int sublayermembers_var;
00241
00242
00243 bool operator==(const NiceHeartbeat&);
00244
00245 public:
00246 NiceHeartbeat(const char *name=NULL, int kind=0);
00247 NiceHeartbeat(const NiceHeartbeat& other);
00248 virtual ~NiceHeartbeat();
00249 NiceHeartbeat& operator=(const NiceHeartbeat& other);
00250 virtual NiceHeartbeat *dup() const {return new NiceHeartbeat(*this);}
00251 virtual void parsimPack(cCommBuffer *b);
00252 virtual void parsimUnpack(cCommBuffer *b);
00253
00254
00255 virtual unsigned int getSeqNo() const;
00256 virtual void setSeqNo(unsigned int seqNo_var);
00257 virtual unsigned int getSeqRspNo() const;
00258 virtual void setSeqRspNo(unsigned int seqRspNo_var);
00259 virtual double getHb_delay() const;
00260 virtual void setHb_delay(double hb_delay_var);
00261 virtual void setDistancesArraySize(unsigned int size);
00262 virtual unsigned int getDistancesArraySize() const;
00263 virtual double getDistances(unsigned int k) const;
00264 virtual void setDistances(unsigned int k, double distances_var);
00265 virtual double getOne_hop_distance() const;
00266 virtual void setOne_hop_distance(double one_hop_distance_var);
00267 virtual unsigned int getSublayermembers() const;
00268 virtual void setSublayermembers(unsigned int sublayermembers_var);
00269 };
00270
00271 inline void doPacking(cCommBuffer *b, NiceHeartbeat& obj) {obj.parsimPack(b);}
00272 inline void doUnpacking(cCommBuffer *b, NiceHeartbeat& obj) {obj.parsimUnpack(b);}
00273
00286 class NiceLeaderHeartbeat : public NiceHeartbeat
00287 {
00288 protected:
00289 TransportAddress supercluster_leader_var;
00290 TransportAddress *supercluster_members_var;
00291 unsigned int supercluster_members_arraysize;
00292 unsigned int k_var;
00293 unsigned int sc_tolerance_var;
00294
00295
00296 bool operator==(const NiceLeaderHeartbeat&);
00297
00298 public:
00299 NiceLeaderHeartbeat(const char *name=NULL, int kind=0);
00300 NiceLeaderHeartbeat(const NiceLeaderHeartbeat& other);
00301 virtual ~NiceLeaderHeartbeat();
00302 NiceLeaderHeartbeat& operator=(const NiceLeaderHeartbeat& other);
00303 virtual NiceLeaderHeartbeat *dup() const {return new NiceLeaderHeartbeat(*this);}
00304 virtual void parsimPack(cCommBuffer *b);
00305 virtual void parsimUnpack(cCommBuffer *b);
00306
00307
00308 virtual TransportAddress& getSupercluster_leader();
00309 virtual const TransportAddress& getSupercluster_leader() const {return const_cast<NiceLeaderHeartbeat*>(this)->getSupercluster_leader();}
00310 virtual void setSupercluster_leader(const TransportAddress& supercluster_leader_var);
00311 virtual void setSupercluster_membersArraySize(unsigned int size);
00312 virtual unsigned int getSupercluster_membersArraySize() const;
00313 virtual TransportAddress& getSupercluster_members(unsigned int k);
00314 virtual const TransportAddress& getSupercluster_members(unsigned int k) const {return const_cast<NiceLeaderHeartbeat*>(this)->getSupercluster_members(k);}
00315 virtual void setSupercluster_members(unsigned int k, const TransportAddress& supercluster_members_var);
00316 virtual unsigned int getK() const;
00317 virtual void setK(unsigned int k_var);
00318 virtual unsigned int getSc_tolerance() const;
00319 virtual void setSc_tolerance(unsigned int sc_tolerance_var);
00320 };
00321
00322 inline void doPacking(cCommBuffer *b, NiceLeaderHeartbeat& obj) {obj.parsimPack(b);}
00323 inline void doUnpacking(cCommBuffer *b, NiceLeaderHeartbeat& obj) {obj.parsimUnpack(b);}
00324
00340 class CbrAppMessage : public BaseOverlayMessage
00341 {
00342 protected:
00343 int command_var;
00344 TransportAddress srcNode_var;
00345 TransportAddress lastHop_var;
00346 double sendTime_var;
00347 unsigned int seqNo_var;
00348 unsigned int hopCount_var;
00349 short layer_var;
00350
00351
00352 bool operator==(const CbrAppMessage&);
00353
00354 public:
00355 CbrAppMessage(const char *name=NULL, int kind=0);
00356 CbrAppMessage(const CbrAppMessage& other);
00357 virtual ~CbrAppMessage();
00358 CbrAppMessage& operator=(const CbrAppMessage& other);
00359 virtual CbrAppMessage *dup() const {return new CbrAppMessage(*this);}
00360 virtual void parsimPack(cCommBuffer *b);
00361 virtual void parsimUnpack(cCommBuffer *b);
00362
00363
00364 virtual int getCommand() const;
00365 virtual void setCommand(int command_var);
00366 virtual TransportAddress& getSrcNode();
00367 virtual const TransportAddress& getSrcNode() const {return const_cast<CbrAppMessage*>(this)->getSrcNode();}
00368 virtual void setSrcNode(const TransportAddress& srcNode_var);
00369 virtual TransportAddress& getLastHop();
00370 virtual const TransportAddress& getLastHop() const {return const_cast<CbrAppMessage*>(this)->getLastHop();}
00371 virtual void setLastHop(const TransportAddress& lastHop_var);
00372 virtual double getSendTime() const;
00373 virtual void setSendTime(double sendTime_var);
00374 virtual unsigned int getSeqNo() const;
00375 virtual void setSeqNo(unsigned int seqNo_var);
00376 virtual unsigned int getHopCount() const;
00377 virtual void setHopCount(unsigned int hopCount_var);
00378 virtual short getLayer() const;
00379 virtual void setLayer(short layer_var);
00380 };
00381
00382 inline void doPacking(cCommBuffer *b, CbrAppMessage& obj) {obj.parsimPack(b);}
00383 inline void doUnpacking(cCommBuffer *b, CbrAppMessage& obj) {obj.parsimUnpack(b);}
00384
00385
00386 #endif // _NICEMESSAGE_M_H_