Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "We never use the name of the mailbox"
[simgrid.git] / src / simix / smx_io.cpp
index 3866492..96224c6 100644 (file)
@@ -4,6 +4,7 @@
 /* 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 "src/surf/surf_interface.hpp"
 #include "smx_private.h"
 #include "xbt/sysdep.h"
 #include "xbt/log.h"
@@ -61,7 +62,7 @@ smx_synchro_t SIMIX_file_read(smx_file_t fd, sg_size_t size, sg_host_t host)
   smx_synchro_t synchro;
 
   /* check if the host is active */
-  if (surf_host_get_state(surf_host_resource_priv(host)) != SURF_RESOURCE_ON) {
+  if (host->isOff()) {
     THROWF(host_error, 0, "Host %s failed, you cannot call this function",
            sg_host_get_name(host));
   }
@@ -74,7 +75,7 @@ smx_synchro_t SIMIX_file_read(smx_file_t fd, sg_size_t size, sg_host_t host)
   synchro->io.host = host;
   synchro->io.surf_io = surf_host_read(host, fd->surf_file, size);
 
-  surf_action_set_data(synchro->io.surf_io, synchro);
+  synchro->io.surf_io->setData(synchro);
   XBT_DEBUG("Create io synchro %p", synchro);
 
   return synchro;
@@ -93,7 +94,7 @@ smx_synchro_t SIMIX_file_write(smx_file_t fd, sg_size_t size, sg_host_t host)
   smx_synchro_t synchro;
 
   /* check if the host is active */
-  if (surf_host_get_state(surf_host_resource_priv(host)) != SURF_RESOURCE_ON) {
+  if (host->isOff()) {
     THROWF(host_error, 0, "Host %s failed, you cannot call this function",
            sg_host_get_name(host));
   }
@@ -106,7 +107,7 @@ smx_synchro_t SIMIX_file_write(smx_file_t fd, sg_size_t size, sg_host_t host)
   synchro->io.host = host;
   synchro->io.surf_io = surf_host_write(host, fd->surf_file, size);
 
-  surf_action_set_data(synchro->io.surf_io, synchro);
+  synchro->io.surf_io->setData(synchro);
   XBT_DEBUG("Create io synchro %p", synchro);
 
   return synchro;
@@ -125,7 +126,7 @@ smx_synchro_t SIMIX_file_open(const char* fullpath, sg_host_t host)
   smx_synchro_t synchro;
 
   /* check if the host is active */
-  if (surf_host_get_state(surf_host_resource_priv(host)) != SURF_RESOURCE_ON) {
+  if (host->isOff()) {
     THROWF(host_error, 0, "Host %s failed, you cannot call this function",
            sg_host_get_name(host));
   }
@@ -138,7 +139,7 @@ smx_synchro_t SIMIX_file_open(const char* fullpath, sg_host_t host)
   synchro->io.host = host;
   synchro->io.surf_io = surf_host_open(host, fullpath);
 
-  surf_action_set_data(synchro->io.surf_io, synchro);
+  synchro->io.surf_io->setData(synchro);
   XBT_DEBUG("Create io synchro %p", synchro);
 
   return synchro;
@@ -157,7 +158,7 @@ smx_synchro_t SIMIX_file_close(smx_file_t fd, sg_host_t host)
   smx_synchro_t synchro;
 
   /* check if the host is active */
-  if (surf_host_get_state(surf_host_resource_priv(host)) != SURF_RESOURCE_ON) {
+  if (host->isOff()) {
     THROWF(host_error, 0, "Host %s failed, you cannot call this function",
            sg_host_get_name(host));
   }
@@ -170,7 +171,7 @@ smx_synchro_t SIMIX_file_close(smx_file_t fd, sg_host_t host)
   synchro->io.host = host;
   synchro->io.surf_io = surf_host_close(host, fd->surf_file);
 
-  surf_action_set_data(synchro->io.surf_io, synchro);
+  synchro->io.surf_io->setData(synchro);
   XBT_DEBUG("Create io synchro %p", synchro);
 
   return synchro;
@@ -181,7 +182,7 @@ smx_synchro_t SIMIX_file_close(smx_file_t fd, sg_host_t host)
 int SIMIX_file_unlink(smx_file_t fd, sg_host_t host)
 {
   /* check if the host is active */
-  if (surf_host_get_state(surf_host_resource_priv(host)) != SURF_RESOURCE_ON) {
+  if (host->isOff()) {
     THROWF(host_error, 0, "Host %s failed, you cannot call this function",
            sg_host_get_name(host));
   }
@@ -273,9 +274,7 @@ sg_size_t SIMIX_storage_get_used_size(smx_process_t process, smx_storage_t stora
 }
 
 xbt_dict_t SIMIX_storage_get_properties(smx_storage_t storage){
-  xbt_assert((storage != NULL), "Invalid parameters (simix storage is NULL)");
-  return (xbt_dict_t) surf_resource_get_properties((surf_cpp_resource_t)
-    surf_storage_resource_priv(storage));
+  return surf_storage_get_properties(storage);
 }
 
 const char* SIMIX_storage_get_name(smx_storage_t storage){
@@ -311,11 +310,13 @@ void SIMIX_post_io(smx_synchro_t synchro)
       simcall_file_close__set__result(simcall, 0);
       break;
     case SIMCALL_FILE_WRITE:
-      simcall_file_write__set__result(simcall, surf_action_get_cost(synchro->io.surf_io));
+      simcall_file_write__set__result(simcall,
+        synchro->io.surf_io->getCost());
       break;
 
     case SIMCALL_FILE_READ:
-      simcall_file_read__set__result(simcall, surf_action_get_cost(synchro->io.surf_io));
+      simcall_file_read__set__result(simcall,
+        synchro->io.surf_io->getCost());
       break;
 
     default:
@@ -323,13 +324,13 @@ void SIMIX_post_io(smx_synchro_t synchro)
     }
   }
 
-  switch (surf_action_get_state(synchro->io.surf_io)) {
+  switch (synchro->io.surf_io->getState()) {
 
-    case SURF_ACTION_FAILED:
+    case simgrid::surf::Action::State::failed:
       synchro->state = SIMIX_FAILED;
       break;
 
-    case SURF_ACTION_DONE:
+    case simgrid::surf::Action::State::done:
       synchro->state = SIMIX_DONE;
       break;
 
@@ -345,7 +346,7 @@ void SIMIX_io_destroy(smx_synchro_t synchro)
 {
   XBT_DEBUG("Destroy synchro %p", synchro);
   if (synchro->io.surf_io)
-    surf_action_unref(synchro->io.surf_io);
+    synchro->io.surf_io->unref();
   xbt_mallocator_release(simix_global->synchro_mallocator, synchro);
 }
 
@@ -375,7 +376,7 @@ void SIMIX_io_finish(smx_synchro_t synchro)
             (int)synchro->state);
     }
 
-    if (surf_host_get_state(surf_host_resource_priv(simcall->issuer->host)) != SURF_RESOURCE_ON) {
+    if (simcall->issuer->host->isOff()) {
       simcall->issuer->context->iwannadie = 1;
     }