X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d0ffc37686edcc803601f76ab51fdfed5fc2f241..2f2ce19fcb66a634c19de8dda2dc4b4896203537:/src/surf/workstation.hpp?ds=sidebyside diff --git a/src/surf/workstation.hpp b/src/surf/workstation.hpp index 08940e0dc2..8ce487e30a 100644 --- a/src/surf/workstation.hpp +++ b/src/surf/workstation.hpp @@ -22,8 +22,8 @@ typedef WorkstationCLM03Lmm *WorkstationCLM03LmmPtr; class WorkstationAction; typedef WorkstationAction *WorkstationActionPtr; -/*FIXME:class WorkstationActionLmm; -typedef WorkstationActionLmm *WorkstationActionLmmPtr;*/ +class WorkstationActionLmm; +typedef WorkstationActionLmm *WorkstationActionLmmPtr; /********* * Tools * @@ -41,6 +41,8 @@ public: virtual void parseInit(sg_platf_host_cbarg_t host); WorkstationCLM03Ptr createResource(string name); double shareResources(double now); + virtual void adjustWeightOfDummyCpuActions(); + void updateActionsState(double now, double delta); virtual ActionPtr executeParallelTask(int workstation_nb, @@ -50,6 +52,7 @@ public: double rate); virtual xbt_dynar_t getRoute(WorkstationCLM03Ptr src, WorkstationCLM03Ptr dst); virtual ActionPtr communicate(WorkstationCLM03Ptr src, WorkstationCLM03Ptr dst, double size, double rate); + CpuModelPtr p_cpuModel; }; /************ @@ -83,12 +86,12 @@ public: ActionPtr close(surf_file_t fd); int unlink(surf_file_t fd); ActionPtr ls(const char* mount, const char *path); - sg_storage_size_t getSize(surf_file_t fd); - ActionPtr read(surf_file_t fd, sg_storage_size_t size); - ActionPtr write(surf_file_t fd, sg_storage_size_t size); + sg_size_t getSize(surf_file_t fd); + ActionPtr read(surf_file_t fd, sg_size_t size); + ActionPtr write(surf_file_t fd, sg_size_t size); xbt_dynar_t getInfo( surf_file_t fd); - sg_storage_size_t getFreeSize(const char* name); - sg_storage_size_t getUsedSize(const char* name); + sg_size_t getFreeSize(const char* name); + sg_size_t getUsedSize(const char* name); bool isUsed(); //bool isShared(); @@ -96,9 +99,16 @@ public: RoutingEdgePtr p_netElm; CpuPtr p_cpu; NetworkCm02LinkPtr p_network; + + xbt_dynar_t getVms(); + + /* common with vm */ + void getParams(ws_params_t params); + void setParams(ws_params_t params); + s_ws_params_t p_params; }; -class WorkstationCLM03Lmm : public WorkstationCLM03, public ResourceLmm { +class WorkstationCLM03Lmm : virtual public WorkstationCLM03, public ResourceLmm { public: WorkstationCLM03Lmm(WorkstationModelPtr model, const char* name, xbt_dict_t props, xbt_dynar_t storage, RoutingEdgePtr netElm, CpuPtr cpu): WorkstationCLM03(model, name, props, storage, netElm, cpu){};