X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2f810149832a2d855c33d0df5b02d736c2081e41..654cf85f8a467bd8f883956476237b670292bb3b:/src/surf/workstation.c diff --git a/src/surf/workstation.c b/src/surf/workstation.c index 424c1b3664..b241314578 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -276,7 +276,7 @@ static double ws_get_link_latency(const void *link) static int ws_link_shared(const void *link) { - return surf_network_model->extension.network.get_link_latency(link); + return surf_network_model->extension.network.link_shared(link); } static void ws_finalize(void) @@ -290,6 +290,36 @@ static xbt_dict_t ws_get_properties(const void *ws) return surf_resource_properties(((workstation_CLM03_t) ws)->cpu); } +static surf_action_t ws_action_open(void *workstation, const char* path, const char* mode) +{ + return surf_cpu_model->extension.cpu. + sleep(((workstation_CLM03_t) workstation)->cpu, 1); +} + +static surf_action_t ws_action_close(void *workstation, surf_file_t fp) +{ + return surf_cpu_model->extension.cpu. + sleep(((workstation_CLM03_t) workstation)->cpu, 2); +} + +static surf_action_t ws_action_read(void *workstation, void* ptr, size_t size, size_t nmemb, surf_file_t stream) +{ + return surf_cpu_model->extension.cpu. + sleep(((workstation_CLM03_t) workstation)->cpu, 3); +} + +static surf_action_t ws_action_write(void *workstation, const void* ptr, size_t size, size_t nmemb, surf_file_t stream) +{ + return surf_cpu_model->extension.cpu. + sleep(((workstation_CLM03_t) workstation)->cpu, 4); +} + +static surf_action_t ws_action_stat(void *workstation, int fd, void* buf) +{ + return surf_cpu_model->extension.cpu. + sleep(((workstation_CLM03_t) workstation)->cpu, 5); +} + static void surf_workstation_model_init_internal(void) { surf_workstation_model = surf_model_init(); @@ -342,12 +372,17 @@ static void surf_workstation_model_init_internal(void) surf_workstation_model->extension.workstation.get_properties = ws_get_properties; + surf_workstation_model->extension.workstation.open = ws_action_open; + surf_workstation_model->extension.workstation.close = ws_action_close; + surf_workstation_model->extension.workstation.read = ws_action_read; + surf_workstation_model->extension.workstation.write = ws_action_write; + surf_workstation_model->extension.workstation.stat = ws_action_stat; } void surf_workstation_model_init_current_default(void) { surf_workstation_model_init_internal(); - //xbt_cfg_setdefault_int(_surf_cfg_set, "network/crosstraffic", 1); + xbt_cfg_setdefault_int(_surf_cfg_set, "network/crosstraffic", 1); surf_cpu_model_init_Cas01(); surf_network_model_init_LegrandVelho();