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

📄 chttpdatams.h

📁 此程序为wcdma系统当中ftp/video业务模型的c++程序仿真 通过此程序 能得到此两种业务在多种条件下的吞吐量和无码率的性能
💻 H
字号:

////////////////////////////////////////////////////////////////////////////////////    
//                        							                              //	
//      CHttpDataMs类在原有cdma2000EV-DV基础之上有所改进,增加了                  //
//      主对象和内嵌对象的概念,使得对Http业务的时延统计更接近  		          //	
//      实际系统,仿真结果更合理。      										  //	
//										                                          //
//										                                          //
//										                                          //	
//																				  //
//																				  //	
//																			      //
////////////////////////////////////////////////////////////////////////////////////





#if!defined(_CHTTPDATAMS_H_INCLUDED_)
#define _CHTTPDATAMS_H_INCLUDED_

#include<iostream.h>
#include "Afxtempl.h"
#include "systemsim.h"
#include "sys_random.h"
#include "CDataMs.h"




//******************************CHttpDataMs类的声明**********************************//


class CHttpDataMs:public CDataMs
{
  private:
     
        float m_fMeanOfHttpMainObjectSize;		//主对象大小对数正态分布的均值
	    float m_fStdOfHttpMainObjectSize;		//主对象大小服从对数正态分布的方差
	    int   m_iHttpMaxMainObjectSize;			//主对象大小的最大值
	    int   m_iHttpMinMainObjectSize;			//主对象大小的最小值
	    int   m_iHttpMainObjectSize;			//PacketCall中主对象的大小


        float m_fMeanOfHttpPlugInSize;		   //内嵌对象大小服从对数正态分布的均值
        float m_fStdOfHttpPlugInSize;		   //内嵌对象大小服从对数正态分布的方差
        int   m_iHttpMaxPlugInSize;		       //内嵌对象大小的最大值
        int   m_iHttpMinPlugInSize;		       //内嵌对象大小的最小值
        int   m_iHttpPlugInSize;	           //PacketCall中内嵌对象的大小

        
        float m_fAlphaOfHttpPlugInNumInPacketCall;	//PacketCall中内嵌对象数目服从的pareto分布的参数Alpha;
        float m_fKOfHttpPlugInNumInPacketCall;		//PacketCall中内嵌对象数目服从的pareto分布的参数K;
        int   m_iMaxOfHttpPlugInNumInPacketCall;	//PacketCall中内嵌对象的最大数目
        int   m_iHttpPlugInNumInPacketCall;	     	//每一个PacketCall中内嵌对象的数目


        int   m_iPlugInTotalSize;               //内嵌对象总大小,由内嵌对象数目累加而来;
        
        	
          
        int   m_iMeanOfHttpReadingTime;			//阅读时间服从指数分布的均值
	    int   m_iHttpReadingTime;				//阅读时间,即packet call之间的间隔时间;
        
	    float m_fMeanOfHttpMainObjectParsingTime;	//主页的解析时间服从指数分布的均值
        int   m_iHttpMainObjectParsingTime;			//主页的解析时间,即主对象和第一个从对象的时间间隔;

        
        int   m_iPacketSize;                           //当前产生的packet的大小;
        float m_fPacketIntervalParameter;              //packet 间隔服从均值为m_fPacketIntervalParameter的几何分布
        int   m_iTimeBeforeNextPacket;	               //模拟分组间的时间间隔,以时隙为单位
		int	  m_PacketMTU;							   //固定其大小为1500*8;		

        int   m_iHttpPacketCallSize;                    //记录当前PacketCall的大小
		int   m_iPacketNumInPacketCall;					//记录当前PacketCall中能包含的packet个数;
		int   m_iPacketNumGenerated;					//记录当前PacketCall中已经生成的packet个数;	
	    int   m_iTimeOfFirstHttpPacket;				    //记录PacketCall的第一个packet的到达时刻

        bool  m_bIsHttpPacketCallOver;				//判断阅读时间是否结束
        bool  m_bIsInPacketCall;                    //判断是否有packet call在传输;
        bool  m_bIsInMainObject;                    //判断主对象是否在传输;
        bool  m_bIsInPlugIn;                        //判断内嵌对象是否在传输;

             



public:
	int   m_iCurrentSlotNum;
      
	CHttpDataMs(){};
	~CHttpDataMs(){};  

	void HttpInitialization();				//HTTP初始化函数,调用以下几个函数完成一些变量的设置;

	int HttpMainObjectSizeGenerator();		        //主对象大小生成函数

	int HttpPlugInSizeGenerator();			//内嵌对象大小生成函数

	int HttpPlugInNumInPacketCallGenerator();	//一个PacketCall中内嵌对象的数目生成函数;

	int HttpReadingTimeGenerator();				//阅读时间生成函数

	bool IsHttpPacketCallOver();				//阅读时间是否结束,判断是否有packet call在传输;
                                                                

	int HttpMainObjectParsingTimeGenerator();		//主页解析时间生成函数

	void PacketGenerator();                                   //packet 生成函数;

	void PacketIntervalGenerator();                           //packet间隔生成函数;


	void HttpNewPacketCallSetup();				//新建PacketCall函数,与EV-DV相比有较大的改动;

      
	void HttpPacketCallProcess();				//HTTP处理函数,按照范晨流程图所写;

public:
//定义继承自基类CDataMs的纯虚函数
	void FillDataQueue();						//填充数据队列函数
	void DataMsTrafficInitialize();				//数据移动台业务模型初始化函数
};
#endif



          
        



        
            
          
          
          
              
          
           
         
          
         

        























































 
	         
	
	
	
	
	










⌨️ 快捷键说明

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