|
libraries/wiredbas/node/EthernetSubNetwork.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 ETHERNETSUBNETWORK_H_ 00009 #define ETHERNETSUBNETWORK_H_ 00010 00011 #include <string> 00012 #include "libraries/wiredbas/common/SubNetwork.h" 00013 #include "rules/wiredbas/link/WiringRule.h" 00014 #include "rules/wiredbas/node/EthernetNetworkRule.h" 00015 #include "models/wiredbas/common/WireCost.h" 00016 #include "models/wiredbas/common/LinkDelayModel.h" 00017 #include "models/wiredbas/node/EthernetNetworkCost.h" 00018 #include "models/wiredbas/node/EthernetNetworkDelay.h" 00019 #include "libraries/wiredbas/common/InstantiableLink.h" 00020 #include "libraries/wiredbas/common/InstantiableNode.h" 00021 00022 namespace cosi { 00023 00024 namespace library { 00025 00026 namespace wiredbas { 00027 00028 class EthernetSubNetwork : public SubNetwork { 00029 //Wiring model 00030 cosi::rules::wiredbas::WiringRule* mWiringRule; 00031 cosi::rules::wiredbas::EthernetNetworkRule* mEthernetRule; 00032 cosi::models::wiredbas::WireCost* mWireCost; 00033 cosi::models::wiredbas::EthernetNetworkCost* mNetCost; 00034 cosi::models::wiredbas::LinkDelayModel* mLinkDelay; 00035 cosi::models::wiredbas::EthernetNetworkDelay* mNetDelay; 00036 00037 public: 00038 EthernetSubNetwork(cosi::rules::wiredbas::WiringRule* Wr, 00039 cosi::rules::wiredbas::EthernetNetworkRule* Er, 00040 cosi::models::wiredbas::WireCost* Wc, 00041 cosi::models::wiredbas::EthernetNetworkCost* Nc, 00042 cosi::models::wiredbas::LinkDelayModel* Ld, 00043 cosi::models::wiredbas::EthernetNetworkDelay* Nd, 00044 std::map<std::string, cosi::library::wiredbas::InstantiableNode*> N, 00045 std::map<std::string, cosi::library::wiredbas::InstantiableLink*> L); 00046 virtual ~EthernetSubNetwork(); 00047 void AddNode(string Name, Vertex V, Position pP, ThreadSet pThreads, 00048 TransferTable pT) ; 00049 void AddLink(string Name, Vertex U, Vertex V, WiringPath pPath) ; 00050 double LatencyValue(cosi::commstruct::wiredbas::Implementation* pNet, 00051 Vertex Src, std::string Dest, Vertex SrcId, Vertex DestId); 00052 bool Satisfies(cosi::commstruct::wiredbas::Specification* pSpec ,cosi::commstruct::wiredbas::Implementation* pNet); 00053 double GetCost(cosi::commstruct::wiredbas::Implementation* pNet); 00054 }; 00055 00056 } 00057 00058 } 00059 00060 } 00061 00062 #endif /*ETHERNETSUBNETWORK_H_*/ Generated on Sun Sep 7 18:37:42 2008 for COSI by 1.5.4 |