00001
00002
00003
00004
00005
00006
00007
00008 #ifndef ETHERNETLINKDELAY_H_
00009 #define ETHERNETLINKDELAY_H_
00010
00011 #include <map>
00012 #include "models/wiredbas/common/LinkDelayModel.h"
00013
00014 namespace cosi {
00015
00016 namespace models {
00017
00018 namespace wiredbas {
00019
00020 class EthernetLinkDelay : public LinkDelayModel {
00021 double mSpeed;
00022 enum Field {PREAMBLE,SOF,DEST,SRC,TYPE,PAYLOAD,CRC,IFD};
00023 std::map< int , int > mFieldLength;
00024 int mOverhead ;
00025 public:
00026 EthernetLinkDelay(double Speed);
00027 virtual ~EthernetLinkDelay();
00028 RealDelay Get(int MsgLength, WiringPath pPath);
00029 double GetValue(int MsgLength, WiringPath pPath);
00030 };
00031
00032 }
00033
00034 }
00035
00036 }
00037
00038 #endif