X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3f2999fc86c758179dfc3e6e0d1ca4860cf65ae4..deac2c062ec8d469f153bc84e6e6f705bf20f3aa:/src/surf/surf_c_bindings.cpp diff --git a/src/surf/surf_c_bindings.cpp b/src/surf/surf_c_bindings.cpp index b8c4e970c4..e536732d2d 100644 --- a/src/surf/surf_c_bindings.cpp +++ b/src/surf/surf_c_bindings.cpp @@ -4,10 +4,9 @@ /* 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 "host_interface.hpp" +#include "src/surf/HostImpl.hpp" #include "surf_interface.hpp" #include "network_interface.hpp" -#include "surf_routing_cluster.hpp" #include "src/instr/instr_private.h" #include "plugins/energy.hpp" #include "virtual_machine.hpp" @@ -18,12 +17,12 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_kernel); * TOOLS * *********/ -static simgrid::surf::Host *get_casted_host(sg_host_t host){ //FIXME: killme - return host->extension(); +static simgrid::surf::HostImpl *get_casted_host(sg_host_t host){ //FIXME: killme + return host->extension(); } static simgrid::surf::VirtualMachine *get_casted_vm(sg_host_t host){ - return static_cast(host->extension()); + return static_cast(host->extension()); } extern double NOW; @@ -65,9 +64,6 @@ double surf_solve(double max_date) tmgr_trace_iterator_t event = NULL; unsigned int iter; - if(!host_that_restart) - host_that_restart = xbt_dynar_new(sizeof(char*), NULL); - if (max_date > 0.0) { xbt_assert(max_date > NOW,"You asked to simulate up to %f, but that's in the past already", max_date); @@ -124,7 +120,7 @@ double surf_solve(double max_date) while ((event = future_evt_set->pop_leq(next_event_date, &value, &resource))) { if (resource->isUsed() || xbt_dict_get_or_null(watched_hosts_lib, resource->getName())) { time_delta = next_event_date - NOW; - XBT_DEBUG("This event will modify model state. Next event set to %f", time_delta); + XBT_DEBUG("This event invalidates the next_occuring_event() computation of models. Next event set to %f", time_delta); } // FIXME: I'm too lame to update NOW live, so I change it and restore it so that the real update with surf_min will work double round_start = NOW; @@ -166,7 +162,7 @@ double surf_solve(double max_date) surf_action_t surf_model_extract_done_action_set(surf_model_t model){ if (model->getDoneActionSet()->empty()) - return NULL; + return NULL; surf_action_t res = &model->getDoneActionSet()->front(); model->getDoneActionSet()->pop_front(); return res; @@ -174,7 +170,7 @@ surf_action_t surf_model_extract_done_action_set(surf_model_t model){ surf_action_t surf_model_extract_failed_action_set(surf_model_t model){ if (model->getFailedActionSet()->empty()) - return NULL; + return NULL; surf_action_t res = &model->getFailedActionSet()->front(); model->getFailedActionSet()->pop_front(); return res; @@ -184,13 +180,6 @@ int surf_model_running_action_set_size(surf_model_t model){ return model->getRunningActionSet()->size(); } -xbt_dynar_t surf_host_model_get_route(surf_host_model_t /*model*/, - sg_host_t src, sg_host_t dst){ - xbt_dynar_t route = NULL; - routing_platf->getRouteAndLatency(src->pimpl_netcard, dst->pimpl_netcard, &route, NULL); - return route; -} - void surf_vm_model_create(const char *name, sg_host_t ind_phys_host){ surf_vm_model->createVM(name, ind_phys_host); } @@ -199,23 +188,10 @@ surf_action_t surf_network_model_communicate(surf_network_model_t model, sg_host return model->communicate(src->pimpl_netcard, dst->pimpl_netcard, size, rate); } -const char *surf_resource_name(surf_cpp_resource_t resource){ - return resource->getName(); -} - surf_action_t surf_host_sleep(sg_host_t host, double duration){ return host->pimpl_cpu->sleep(duration); } - -double surf_host_get_available_speed(sg_host_t host){ - return host->pimpl_cpu->getAvailableSpeed(); -} - -xbt_dynar_t surf_host_get_attached_storage_list(sg_host_t host){ - return get_casted_host(host)->getAttachedStorageList(); -} - surf_action_t surf_host_open(sg_host_t host, const char* fullpath){ return get_casted_host(host)->open(fullpath); } @@ -257,28 +233,6 @@ int surf_host_file_move(sg_host_t host, surf_file_t fd, const char* fullpath){ return get_casted_host(host)->fileMove(fd, fullpath); } -xbt_dynar_t surf_host_get_vms(sg_host_t host){ - xbt_dynar_t vms = get_casted_host(host)->getVms(); - xbt_dynar_t vms_ = xbt_dynar_new(sizeof(sg_host_t), NULL); - unsigned int cpt; - simgrid::surf::VirtualMachine *vm; - xbt_dynar_foreach(vms, cpt, vm) { - // TODO, use a backlink from simgrid::surf::Host to simgrid::s4u::Host - sg_host_t vm_ = (sg_host_t) xbt_dict_get_elm_or_null(host_list, vm->getName()); - xbt_dynar_push(vms_, &vm_); - } - xbt_dynar_free(&vms); - return vms_; -} - -void surf_host_get_params(sg_host_t host, vm_params_t params){ - get_casted_host(host)->getParams(params); -} - -void surf_host_set_params(sg_host_t host, vm_params_t params){ - get_casted_host(host)->setParams(params); -} - void surf_vm_destroy(sg_host_t vm){ // FIXME:DEADCODE vm->pimpl_cpu = nullptr; vm->pimpl_netcard = nullptr; @@ -340,52 +294,10 @@ const char* surf_storage_get_host(surf_resource_t resource){ return static_cast(surf_storage_resource_priv(resource))->p_attach; } -double surf_action_get_start_time(surf_action_t action){ - return action->getStartTime(); -} - -double surf_action_get_finish_time(surf_action_t action){ - return action->getFinishTime(); -} - -double surf_action_get_remains(surf_action_t action){ - return action->getRemains(); -} - -void surf_action_set_category(surf_action_t action, const char *category){ - action->setCategory(category); -} - -void *surf_action_get_data(surf_action_t action){ - return action->getData(); -} - -void surf_action_set_data(surf_action_t action, void *data){ - action->setData(data); -} - -e_surf_action_state_t surf_action_get_state(surf_action_t action){ - return action->getState(); -} - -double surf_action_get_cost(surf_action_t action){ - return action->getCost(); -} - -void surf_cpu_action_set_affinity(surf_action_t action, sg_host_t host, unsigned long mask) { - static_cast(action)->setAffinity(host->pimpl_cpu, mask); -} - void surf_cpu_action_set_bound(surf_action_t action, double bound) { static_cast(action)->setBound(bound); } -#ifdef HAVE_LATENCY_BOUND_TRACKING -double surf_network_action_get_latency_limited(surf_action_t action) { - return static_cast(action)->getLatencyLimited(); -} -#endif - surf_file_t surf_storage_action_get_file(surf_action_t action){ return static_cast(action)->p_file; }