⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 odmrp.h

📁 simulator for ad hoc
💻 H
📖 第 1 页 / 共 2 页
字号:
    /* Total number of join query txed. */    int numQueryTxed;    /* Total number of join reply packets sent. */    int numReplySent;    /* Total number of explicit acks sent. */    int numAckSent;    /* Total number of data packets sent by the source. */    int numDataSent;    /* Total number of data packets received by the destination. */    int numDataReceived;    /* Total number of data packets should be received by the destination. */    int numDataToReceive;    /* Total number of data packets transmitted by each node. */    int numDataTxed;} ODMRP_Stats;typedef struct glomo_network_odmrp_str {    ODMRP_Membership memberFlag;    ODMRP_FgFlag fgFlag;    ODMRP_MT memberTable;    ODMRP_TT tempTable;    ODMRP_RT routeTable;    ODMRP_MC messageCache;    int seqTable;    ODMRP_SS sentTable;    ODMRP_Stats stats;        ODMRP_AT ackTable;    ODMRP_RPT responseTable;} GlomoRoutingOdmrp;void RoutingOdmrpHandleProtocolEvent(GlomoNode *node, Message *msg);void RoutingOdmrpHandleProtocolPacket(GlomoNode *node,                                      Message *msg,                                      NODE_ADDR srcAddr,                                      NODE_ADDR destAddr);void RoutingOdmrpRouterFunction(GlomoNode *node,                                Message *msg,                                NODE_ADDR destAddr,                                BOOL *packetWasRouted);void RoutingOdmrpInit(GlomoNode *node,                      GlomoRoutingOdmrp **odmrpPtr,                      const GlomoNodeInput *nodeInput);void RoutingOdmrpFinalize(GlomoNode *node);void RoutingOdmrpHandleData(GlomoNode *node, Message *msg);void RoutingOdmrpHandleJoinQuery(GlomoNode *node, Message *msg);void RoutingOdmrpHandleReply(       GlomoNode *node, Message *msg, NODE_ADDR lastAddr, NODE_ADDR mcastAddr);void RoutingOdmrpHandleAck(       GlomoNode *node, Message *msg, NODE_ADDR lastAddr, NODE_ADDR targetAddr);void RoutingOdmrpInitMembership(ODMRP_Membership *memberFlag);void RoutingOdmrpInitFgFlag(ODMRP_FgFlag *fgFlag);void RoutingOdmrpInitMemberTable(ODMRP_MT *memberTable);void RoutingOdmrpInitResponseTable(ODMRP_RPT *responseTable);void RoutingOdmrpInitTempTable(ODMRP_TT *tempTable);void RoutingOdmrpInitRouteTable(ODMRP_RT *routeTable);void RoutingOdmrpInitMessageCache(ODMRP_MC *messageCache);void RoutingOdmrpInitSeqTable(GlomoNode *node);void RoutingOdmrpInitSent(ODMRP_SS *sentTable);void RoutingOdmrpInitStats(GlomoNode *node);void RoutingOdmrpDeleteMsgCache(ODMRP_MC *messageCache);BOOL RoutingOdmrpLookupMessageCache(                 NODE_ADDR srcAddr, int seqNumber, ODMRP_MC *messageCache);BOOL RoutingOdmrpLookupMembership(NODE_ADDR mcastAddr,                                  ODMRP_Membership *memberFlag);BOOL RoutingOdmrpLookupFgFlag(NODE_ADDR mcastAddr,                              ODMRP_FgFlag *fgFlag);BOOL RoutingOdmrpLookupMemberTable(NODE_ADDR mcastAddr,                                   ODMRP_MT *memberTable);BOOL RoutingOdmrpLookupSentTable(NODE_ADDR mcastAddr,                                 ODMRP_SS *sentTable);BOOL RoutingOdmrpCheckFgExpired(NODE_ADDR mcastAddr,                                ODMRP_FgFlag *fgFlag);void RoutingOdmrpSetMemberFlag(NODE_ADDR mcastAddr,                               ODMRP_Membership *memberFlag);ODMRP_M_Node *RoutingOdmrpSetMemFlagInOrder(                             NODE_ADDR mcastAddr, ODMRP_M_Node *old);void RoutingOdmrpResetMemberFlag(NODE_ADDR mcastAddr,                                 ODMRP_Membership *memberFlag);void RoutingOdmrpUpdateFgFlag(NODE_ADDR mcastAddr, ODMRP_FgFlag *fgFlag);void RoutingOdmrpSetFgFlag(NODE_ADDR mcastAddr, ODMRP_FgFlag *fgFlag);ODMRP_FF_Node *RoutingOdmrpSetFgFlagInOrder(                                NODE_ADDR mcastAddr, ODMRP_FF_Node *old);void RoutingOdmrpResetFgFlag(NODE_ADDR mcastAddr,                             ODMRP_FgFlag *fgFlag);void RoutingOdmrpSetSent(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);ODMRP_SS_Node *RoutingOdmrpSetSentInOrder(                                NODE_ADDR mcastAddr, ODMRP_SS_Node *old);void RoutingOdmrpDeleteSourceSent(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);ODMRP_MT_Node *RoutingOdmrpGetMTEntry(                  NODE_ADDR mcastAddr, ODMRP_MT *memberTable);void RoutingOdmrpInsertMemberTable(NODE_ADDR mcastAddr,                                   NODE_ADDR srcAddr,                                   ODMRP_MT *memberTable);ODMRP_MT_Node *RoutingOdmrpInsertMTInOrder(                   NODE_ADDR mcastAddr, NODE_ADDR srcAddr, ODMRP_MT_Node *old);BOOL RoutingOdmrpCheckMSExist(NODE_ADDR srcAddr, ODMRP_MT_Node *mcast);ODMRP_MT_Snode *RoutingOdmrpInsertMemberSource(                                    NODE_ADDR srcAddr, ODMRP_MT_Node *mcast);ODMRP_MT_Snode *RoutingOdmrpInsertMSInOrder(                  NODE_ADDR srcAddr, ODMRP_MT_Snode *old, ODMRP_MT_Snode *last);void RoutingOdmrpCheckSourceExpired(NODE_ADDR mcastAddr, ODMRP_MT *memberTable);ODMRP_TT_Node *RoutingOdmrpGetTTEntry(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);void RoutingOdmrpInsertTempTable(NODE_ADDR mcastAddr,                                 NODE_ADDR srcAddr,                                 ODMRP_TT *tempTable);ODMRP_TT_Node *RoutingOdmrpInsertTTInOrder(                   NODE_ADDR mcastAddr, NODE_ADDR srcAddr, ODMRP_TT_Node *old);BOOL RoutingOdmrpCheckTSExist(NODE_ADDR srcAddr, ODMRP_TT_Node *mcast);ODMRP_TT_Snode *RoutingOdmrpInsertTempSource(                                     NODE_ADDR srcAddr, ODMRP_TT_Node *mcast);ODMRP_TT_Snode *RoutingOdmrpInsertTSInOrder(                  NODE_ADDR srcAddr, ODMRP_TT_Snode *old, ODMRP_TT_Snode *last);BOOL RoutingOdmrpCheckTempChanged(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);void RoutingOdmrpCheckTempExpired(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);ODMRP_RPT_Node *RoutingOdmrpGetRPTEntry(                                NODE_ADDR mcastAddr, ODMRP_RPT *rspnsTable);void RoutingOdmrpInsertResponseTable(             NODE_ADDR mcastAddr, NODE_ADDR srcAddr, ODMRP_RPT *rspnsTable);ODMRP_RPT_Node *RoutingOdmrpInsertRPTInOrder(                   NODE_ADDR mcastAddr, NODE_ADDR srcAddr, ODMRP_RPT_Node *old);BOOL RoutingOdmrpCheckRPSExist(NODE_ADDR srcAddr, ODMRP_RPT_Node *mcast);ODMRP_RPT_Snode *RoutingOdmrpInsertResponseSource(                                    NODE_ADDR srcAddr, ODMRP_RPT_Node *mcast);ODMRP_RPT_Snode *RoutingOdmrpInsertRPSInOrder(                                   NODE_ADDR srcAddr, ODMRP_RPT_Snode *old);ODMRP_AT_Node *RoutingOdmrpGetATEntry(NODE_ADDR mcastAddr, ODMRP_AT *ackTable);void RoutingOdmrpInsertAckTable(              NODE_ADDR mcastAddr, ODMRP_AT *ackTable, ODMRP_JoinReply *reply);ODMRP_AT_Node *RoutingOdmrpInsertATInOrder(              NODE_ADDR mcastAddr, ODMRP_AT_Node *old, ODMRP_JoinReply *reply);BOOL RoutingOdmrpCheckASExist(NODE_ADDR srcAddr, ODMRP_AT_Node *mcast);ODMRP_AT_Snode *RoutingOdmrpInsertAckSource(                  NODE_ADDR srcAddr, NODE_ADDR nextAddr, ODMRP_AT_Node *mcast);ODMRP_AT_Snode *RoutingOdmrpInsertASInOrder(NODE_ADDR srcAddr,                 NODE_ADDR nextAddr, ODMRP_AT_Snode *old, ODMRP_AT_Snode *last);void RoutingOdmrpInsertRouteTable(NODE_ADDR destAddr,                                  NODE_ADDR nextAddr,                                  int hopCount,                                  ODMRP_RT *routeTable);ODMRP_RT_Node *RoutingOdmrpInsertRTInOrder(    NODE_ADDR destAddr, NODE_ADDR nextAddr, int hopCount, ODMRP_RT_Node *old);BOOL RoutingOdmrpCheckRouteExist(NODE_ADDR destAddr, ODMRP_RT *routeTable);void RoutingOdmrpInsertMessageCache(GlomoNode *node,                               NODE_ADDR srcAddr,                               int seqNumber,                               ODMRP_MC *messageCache);int RoutingOdmrpGetSeq(GlomoNode *node);NODE_ADDR RoutingOdmrpGetNextNode(NODE_ADDR destAddr, ODMRP_RT *routeTable);int RoutingOdmrpGetTempCount(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);int RoutingOdmrpGetMemberCount(NODE_ADDR mcastAddr, ODMRP_MT *memberTable);int RoutingOdmrpGetAckCount(NODE_ADDR mcastAddr, ODMRP_AT *ackTable);void RoutingOdmrpJoinGroup(GlomoNode *node, NODE_ADDR mcastAddr);void RoutingOdmrpLeaveGroup(GlomoNode *node, NODE_ADDR mcastAddr);BOOL RoutingOdmrpCheckLastSent(NODE_ADDR mcastAddr,                               ODMRP_MT *memberTable);void RoutingOdmrpUpdateLastSent(NODE_ADDR mcastAddr,                                ODMRP_MT *memberTable);BOOL RoutingOdmrpCheckAckTable(NODE_ADDR mcastAddr, ODMRP_AT *ackTable);void RoutingOdmrpDeleteAckTable(NODE_ADDR mcastAddr, NODE_ADDR srcAddr,                                 NODE_ADDR lastAddr, ODMRP_AT *ackTable);void RoutingOdmrpInitAckTable(ODMRP_AT *ackTable);void RoutingOdmrpDeleteMemberTable(NODE_ADDR mcastAddr, ODMRP_MT *memberTable);void RoutingOdmrpDeleteTempTable(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);void RoutingOdmrpDeleteResponseTable(                               NODE_ADDR mcastAddr, ODMRP_RPT *rspnsTable);BOOL RoutingOdmrpCheckResponseMatch(                NODE_ADDR mcastAddr, NODE_ADDR srcAddr, ODMRP_RPT *rspnsTable);BOOL RoutingOdmrpCheckMinExpTime(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);BOOL RoutingOdmrpCheckCongestionTime(                               NODE_ADDR mcastAddr, ODMRP_MT *memberTable);BOOL RoutingOdmrpCheckSendQuery(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);void RoutingOdmrpSetSendQuery(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);void RoutingOdmrpUnsetSendQuery(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);void RoutingOdmrpSetMinExpireTime(NODE_ADDR mcastAddr, ODMRP_SS *sentTable);BOOL RoutingOdmrpCheckTempSent(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);void RoutingOdmrpSetTempSent(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);void RoutingOdmrpUnsetTempSent(NODE_ADDR mcastAddr, ODMRP_TT *tempTable);void RoutingOdmrpSetMemberSent(NODE_ADDR mcastAddr, ODMRP_MT *memberTable);void RoutingOdmrpSetTimer(    GlomoNode *node, long eventType, NODE_ADDR mcastAddr, clocktype delay);void RoutingOdmrpSendReply(GlomoNode *node, NODE_ADDR mcastAddr,                            ODMRP_MT *memberTable, ODMRP_TT *tempTable);void RoutingOdmrpRetxReply(                    GlomoNode *node, NODE_ADDR mcastAddr, ODMRP_AT *ackTable);void RoutingOdmrpSendData(GlomoNode *node, Message *msg, NODE_ADDR mcastAddr);void RoutingOdmrpSendQuery(GlomoNode *node, Message *msg, NODE_ADDR mcastAddr);void AddCustomOdmrpIpOptionFields(GlomoNode* node, Message* msg);OdmrpIpOptionType GetOdmrpIpOptionField(const Message* msg);void SetOdmrpIpOptionField(        Message* msg, const OdmrpIpOptionType* OdmrpIpOption);#endif /* _ODMRP_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -