clinkdelaylookahead.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef __CLINKDELAYLOOKAHEAD_H__
00022 #define __CLINKDELAYLOOKAHEAD_H__
00023 
00024 #include "cnmplookahead.h"
00025 
00026 NAMESPACE_BEGIN
00027 
00028 class cGate;
00029 
00035 class SIM_API cLinkDelayLookahead : public cNMPLookahead
00036 {
00037   protected:
00038     struct PartitionInfo
00039     {
00040         simtime_t minDelay;  
00041     };
00042 
00043     
00044     int numSeg;              
00045     PartitionInfo *segInfo;  
00046 
00047     
00048     simtime_t collectPathDelay(cGate *pathEndGate);
00049 
00050   public:
00054     cLinkDelayLookahead();
00055 
00059     virtual ~cLinkDelayLookahead();
00060 
00064     virtual void startRun();
00065 
00069     virtual void endRun();
00070 
00075     virtual simtime_t getCurrentLookahead(cMessage *msg, int procId, void *data);
00076 
00080     virtual simtime_t getCurrentLookahead(int procId);
00081 };
00082 
00083 NAMESPACE_END
00084 
00085 
00086 #endif
00087 
00088