models/wiredbas/node/ArcnetBusDelay.h

Go 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  doxygen 1.5.4
Contact 
©2002-2018 U.C. Regents