|
models/wiredbas/node/ArcnetBusDelay.hGo to the documentation of this file.00001 //============================================================================ 00002 // Author : Alessandro Pinto <apinto@eecs.berkeley.edu> 00003 // University of California, Berkeley 00004 // 545 Cory Hall, Berkeley, CA 94720 00005 // Copyright : See COPYING file that comes with this distribution 00006 //============================================================================ 00007 00008 #ifndef ARCNETBUSDELAY_H_ 00009 #define ARCNETBUSDELAY_H_ 00010 00011 #include "networks/wiredbas/WiredBasImplementation.h" 00012 #include "quantities/RealDelay.h" 00013 #include "models/wiredbas/common/BusDelay.h" 00014 #include "models/wiredbas/common/WireDelayModel.h" 00015 #include "float.h" 00016 00017 namespace cosi { 00018 00019 namespace models { 00020 00021 namespace wiredbas { 00022 00023 class ArcnetBusDelay : public BusDelay { 00024 00025 cosi::models::wiredbas::WireDelay* mWireDelay; 00026 00027 int ComputeMessageLength(int pLength); 00028 00029 double mBusSpeed; 00030 00031 enum tProtocolPhases {IIT,FBE,ACK,SPAC,LPAC}; 00032 00033 map< int , int > mMsgLength; 00034 00035 public: 00036 00037 ArcnetBusDelay(double pBusSpeed, cosi::models::wiredbas::WireDelay* pWireDelay); 00038 00039 ~ArcnetBusDelay(); 00040 00041 void SetWireDelayModel(cosi::models::wiredbas::WireDelay* pWireDelay); 00042 00043 RealDelay Get(cosi::commstruct::wiredbas::Implementation pC); 00044 00045 RealDelay Get(cosi::commstruct::wiredbas::Implementation* pC); 00046 00047 double GetValue(cosi::commstruct::wiredbas::Implementation pC); 00048 00049 double GetValue(cosi::commstruct::wiredbas::Implementation* pC); 00050 00051 }; 00052 00053 } 00054 00055 } 00056 00057 } 00058 00059 #endif /*ARCNETBUSDELAY_H_*/ Generated on Sun Sep 7 18:37:42 2008 for COSI by 1.5.4 |