Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Page-level sparse snapshot: work-in-progress, working page_store
[simgrid.git] / src / surf / storage_n11.hpp
index 547ef87..2ec1123 100644 (file)
@@ -1,3 +1,9 @@
+/* Copyright (c) 2013-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
 #include "storage_interface.hpp"
 
 #ifndef STORAGE_N11_HPP_
@@ -13,14 +19,14 @@ typedef StorageN11Model *StorageN11ModelPtr;
 class StorageN11;
 typedef StorageN11 *StorageN11Ptr;
 
-class StorageN11Lmm;
-typedef StorageN11Lmm *StorageN11LmmPtr;
+class StorageN11;
+typedef StorageN11 *StorageN11Ptr;
 
 class StorageN11Action;
 typedef StorageN11Action *StorageN11ActionPtr;
 
-class StorageN11ActionLmm;
-typedef StorageN11ActionLmm *StorageN11ActionLmmPtr;
+class StorageN11Action;
+typedef StorageN11Action *StorageN11ActionPtr;
 
 
 /*********
@@ -31,29 +37,26 @@ class StorageN11Model : public StorageModel {
 public:
   StorageN11Model();
   ~StorageN11Model();
-  StoragePtr createResource(const char* id, const char* type_id,
-                  const char* content_name, const char* content_type, xbt_dict_t properties);
+  StoragePtr createStorage(const char* id, const char* type_id,
+                  const char* content_name, const char* content_type, xbt_dict_t properties, const char* attach);
+  void addTraces(){DIE_IMPOSSIBLE;}
   double shareResources(double now);
   void updateActionsState(double now, double delta);
-
-  xbt_dynar_t p_storageList;
 };
 
 /************
  * Resource *
  ************/
 
-class StorageN11Lmm : public StorageLmm {
+class StorageN11 : public Storage {
 public:
-  StorageN11Lmm(StorageModelPtr model, const char* name, xbt_dict_t properties,
+  StorageN11(StorageModelPtr model, const char* name, xbt_dict_t properties,
                     lmm_system_t maxminSystem, double bread, double bwrite, double bconnection,
-                    const char* type_id, char *content_name, char *content_type, sg_size_t size);
+                    const char* type_id, char *content_name, char *content_type, sg_size_t size, char *attach);
 
   StorageActionPtr open(const char* mount, const char* path);
   StorageActionPtr close(surf_file_t fd);
   StorageActionPtr ls(const char *path);
-  xbt_dict_t getContent();
-  sg_size_t getSize();
   StorageActionPtr read(surf_file_t fd, sg_size_t size);//FIXME:why we have a useless param ptr ??
   StorageActionPtr write(surf_file_t fd, sg_size_t size);//FIXME:why we have a useless param ptr ??
   void rename(const char *src, const char *dest);
@@ -66,10 +69,9 @@ public:
  * Action *
  **********/
 
-class StorageN11ActionLmm : public StorageActionLmm {
+class StorageN11Action : public StorageAction {
 public:
-       StorageN11ActionLmm() {}; //FIXME:REMOVE
-  StorageN11ActionLmm(ModelPtr model, double cost, bool failed, StorageLmmPtr storage, e_surf_action_storage_type_t type);
+  StorageN11Action(ModelPtr model, double cost, bool failed, StoragePtr storage, e_surf_action_storage_type_t type);
   void suspend();
   int unref();
   void cancel();