- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
报文合并函数说明
【文件号:】
系统平台数据管理分册
报文合并
函数说明书
VER 1.00.081110
项目代码:SimIED
修 改 历 史
No 修改日期 修改章节 修改内容 备注 1 200/11/10 王浩儒 初步实现报文合并函数 初稿 审核 批准
设计目的:
在接收到报文时,由于网络原因导致接收方不能按顺序接收发送方发送的报文,因此有
必要对报文根据其报文ID和帧ID进行合并。
设计描述:
具体来说,报文合并主要围绕三个链来展开:
(1)、报文链:具有相同报文ID的报文按照帧ID由小到大的顺序组成一个链表,而该
链表则为时间链上某一个结点的一个分支;
(2)、时间链:具有不同报文ID的时间结点按照其接收报文的时间顺序由早到晚组成一个链表,每接收一个新报文,就会在时间链上查找一次,如果能找到与该报文同报文ID的时间结点,则将该报文添加到该时间结点所对应的报文链中,并将该时间结点移至时间链尾,如果没找到,那么在时间链尾新添加一个时间结点,并将该报文结点作为该时间结点的报文链的链头;
(3)、合并链:设置合并链的目的是跟踪报文合并情况,避免重复合并报文。应该在所允许的最短报文合并时间外合并同一个报文,而如果该报文合并的时间短于这个最短报文合并时间,那么应视为重复报文而舍弃。比如说,最短报文合并时间为30秒,那么先接收一个报文符合条件合并后,在接下来的30秒时间内,是不允许再合并与该报文ID相同的报文的。
关于报文合并的相关思想请参考文档《报文合并机制》;
宏说明:
宏名称 意义
MAX_RECEIVE_TIME 接收报文超时时间
MIN_MERGE_TIME 合并报文最短时间
MAX_BUF_LEN 报文数据长度
MAX_ID_NUM 最大接收报文总数
MAX_FRAMEID_NUM 最大合并报文帧数
MAX_MERGE_NUM 最大合并节点数
MAX_TIME_NUM 最大时间结点数
函数说明:
(1)、初始化合并链:
原型:ST_VOID InitMergeList(ST_VOID);
参数:无
返回值:无
说明:在合并报文前先对相应的合并链动态分配数组进行初始化,以便在合并时动态申请或释放合并链结点,在初始化函数中调用一次;
(2)、初始化报文链和时间链:
原型:ST_VOID InitPackageAndTimeList(ST_VOID);
参数:无
返回值:无
说明:初始化报文链和时间链,以便动态分配和释放报文链和时间链的结点,在初始化函数中调用一次;
(3)、动态分配报文链结点:
原型:ST_VOID MallocPackageNode(LPRECEIVE_PACKAGE_NODE *lpAdd);
参数:参数名称 参数类型 参数意义
lpAdd LPRECEIVE_PACKAGE_NODE * 即将分配报文链结点的指针
返回值:无
说明:在添加新的报文链结点时,利用该函数从报文链动态分配数组中分配一个报文链结点,以便将其添加进时间链结点相应的报文链中;
(4)、动态释放报文链结点:
原型:ST_VOID FreePackageNode(LPRECEIVE_PACKAGE_NODE lpFree);
参数:参数名称 参数类型 参数意义
lpFree LPRECEIVE_PACKAGE_NODE * 将要释放报文链结点的指针
返回值:无
说明:在将报文链合并后,释放报文链上所涉及的结点的内存,该函数所做的工作就是将这些内存进行回收再利用;
(5)、动态分配时间链结点:
原型:ST_VOID MallocTimeNode(LPRECEIVE_TIME_NODE *lpAdd);
参数:参数名称 参数类型 参数意义
lpAdd LPRECEIVE_TIME_NODE * 即将分配时间链结点的指针
返回值:无
说明:在添加新的时间链结点时,利用该函数从时间链动态分配数组中分配一个时间链结点,以便将其添加进时间链;
(6)、动态释放时间链结点:
原型:ST_VOID FreeTimeNode(LP
您可能关注的文档
- 75道经典逻辑心理学推理题(附答案).docx
- 欧美肺部重症指南索引.docx
- 摄像技术01第一讲.doc
- 摄像技术05第四讲.doc
- 成都市常用树种.doc
- premiere CS4 教案 第2课.doc
- 原生仙客来品种.docx
- 50道经典逻辑推理题.doc
- 2003年4月自学考试电力系统自动装置试题第一部分.doc
- 经典高考题及答案.doc
- 人教版(2019)选择性必修第一册 People of Achievement Reading and Thinking课件(共20张PPT,内嵌视频).pptx
- 人教版(2024版)七年级上册Starter Keep Tidy! Pronunciation 课件+音频(共9张PPT).pptx
- 人教版九年级 What are the shirts made of? Section A 3a-3c 小阅读 (共26张PPT,内嵌音频).pptx
- 人教版九年级全册 I think that mooncakes are delicious! Section A 1a-2d 课件(共29张PPT,含内嵌音频).pptx
- 人教版(2024版)七年级上册 My School Section B 1a-Project课件 +音频(共39张PPT,含内嵌视频).pptx
- 人教版九年级全册 Could you please tell me where the restrooms are Section A Grammar Focus-4c课件(共23张.pptx
- 人教版八年级上册 Where did you go on vacation Section A1a-1c课件+音频(共21张PPT).pptx
- 人教版九年级全册 I think that mooncakes are delicious Section A1a-2c课件+音频(共23张PPT).pptx
- 人教版七年级上册(2024) Fun Clubs Section A 1a-1d 课件(共16张PPT).pptx
- 外研(新标准)版(2024)八年级上册 My home town and my country复习课件(共26张PPT).pptx
文档评论(0)