00001
00002
00003
00004
00005
00006
00007
00008 #ifndef ETHERNETNETWORKDELAY_H_
00009 #define ETHERNETNETWORKDELAY_H_
00010
00011 #include "networks/wiredbas/WiredBasImplementation.h"
00012 #include "quantities/RealDelay.h"
00013 #include "models/wiredbas/common/NetworkDelay.h"
00014 #include "models/wiredbas/common/LinkDelayModel.h"
00015 #include "models/wiredbas/common/NodeDelay.h"
00016 #include "models/wiredbas/link/EthernetLinkDelay.h"
00017 #include "models/wiredbas/node/EthernetSwitchDelay.h"
00018 #include "float.h"
00019
00020 namespace cosi {
00021
00022 namespace models {
00023
00024 namespace wiredbas {
00025
00026 class EthernetNetworkDelay : public NetworkDelay {
00027
00028 cosi::models::wiredbas::LinkDelayModel* mLinkDelay;
00029 cosi::models::wiredbas::NodeDelay* mNodeDelay;
00030
00031 double mSpeed;
00032
00033 public:
00034
00035 EthernetNetworkDelay(double pSpeed);
00036
00037 virtual ~EthernetNetworkDelay();
00038
00039 RealDelay Get(cosi::commstruct::wiredbas::Implementation pC, Vertex Src,
00040 std::string Dest,Vertex SrcId,Vertex DestId);
00041
00042 RealDelay Get(cosi::commstruct::wiredbas::Implementation* pC, Vertex Src,
00043 std::string Dest,Vertex SrcId,Vertex DestId);
00044
00045 double GetValue(cosi::commstruct::wiredbas::Implementation pC, Vertex Src,
00046 std::string Dest,Vertex SrcId,Vertex DestId);
00047
00048 double GetValue(cosi::commstruct::wiredbas::Implementation* pC, Vertex Src,
00049 std::string Dest,Vertex SrcId,Vertex DestId);
00050
00051 };
00052
00053 }
00054
00055 }
00056
00057 }
00058
00059 #endif