A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Add FindNS3 module to cmake.
[simgrid.git]
/
src
/
simix
/
smx_host.c
diff --git
a/src/simix/smx_host.c
b/src/simix/smx_host.c
index
b655087
..
c1d3e0c
100644
(file)
--- a/
src/simix/smx_host.c
+++ b/
src/simix/smx_host.c
@@
-50,7
+50,7
@@
void SIMIX_host_destroy(void *h)
{
smx_host_t host = (smx_host_t) h;
- xbt_assert
0
((host != NULL), "Invalid parameters");
+ xbt_assert((host != NULL), "Invalid parameters");
/* Clean Simulator data */
if (xbt_swag_size(host->process_list) != 0) {
@@
-65,7
+65,7
@@
void SIMIX_host_destroy(void *h)
msg = tmp;
}
SIMIX_display_process_status();
- THROW
1
(arg_error, 0, "%s", msg);
+ THROW
F
(arg_error, 0, "%s", msg);
}
xbt_swag_free(host->process_list);
@@
-77,9
+77,28
@@
void SIMIX_host_destroy(void *h)
return;
}
+/**
+ * \brief Returns a dict of all hosts.
+ *
+ * \return List of all hosts (as a #xbt_dict_t)
+ */
+xbt_dict_t SIMIX_host_get_dict(void)
+{
+ xbt_dict_t host_dict = xbt_dict_new();
+ xbt_lib_cursor_t cursor = NULL;
+ char *name = NULL;
+ void **host = NULL;
+
+ xbt_lib_foreach(host_lib, cursor, name, host){
+ if(host[SIMIX_HOST_LEVEL])
+ xbt_dict_set(host_dict,name,host[SIMIX_HOST_LEVEL],NULL);
+ }
+ return host_dict;
+}
+
smx_host_t SIMIX_host_get_by_name(const char *name)
{
- xbt_assert
0
(((simix_global != NULL)
+ xbt_assert(((simix_global != NULL)
&& (host_lib != NULL)),
"Environment not set yet");
@@
-105,21
+124,21
@@
const char* SIMIX_host_self_get_name(void)
const char* SIMIX_host_get_name(smx_host_t host)
{
- xbt_assert
0
((host != NULL), "Invalid parameters");
+ xbt_assert((host != NULL), "Invalid parameters");
return host->name;
}
xbt_dict_t SIMIX_host_get_properties(smx_host_t host)
{
- xbt_assert
0
((host != NULL), "Invalid parameters (simix host is NULL)");
+ xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
return surf_workstation_model->extension.workstation.get_properties(host->host);
}
double SIMIX_host_get_speed(smx_host_t host)
{
- xbt_assert
0
((host != NULL), "Invalid parameters (simix host is NULL)");
+ xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
return surf_workstation_model->extension.workstation.
get_speed(host->host, 1.0);
@@
-127,7
+146,7
@@
double SIMIX_host_get_speed(smx_host_t host)
double SIMIX_host_get_available_speed(smx_host_t host)
{
- xbt_assert
0
((host != NULL), "Invalid parameters (simix host is NULL)");
+ xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
return surf_workstation_model->extension.workstation.
get_available_speed(host->host);
@@
-135,7
+154,7
@@
double SIMIX_host_get_available_speed(smx_host_t host)
int SIMIX_host_get_state(smx_host_t host)
{
- xbt_assert
0
((host != NULL), "Invalid parameters (simix host is NULL)");
+ xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
return surf_workstation_model->extension.workstation.
get_state(host->host);
@@
-153,15
+172,15
@@
void SIMIX_host_self_set_data(void *data)
void* SIMIX_host_get_data(smx_host_t host)
{
- xbt_assert
0
((host != NULL), "Invalid parameters (simix host is NULL)");
+ xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
return host->data;
}
void SIMIX_host_set_data(smx_host_t host, void *data)
{
- xbt_assert
0
((host != NULL), "Invalid parameters");
- xbt_assert
0
((host->data == NULL), "Data already set");
+ xbt_assert((host != NULL), "Invalid parameters");
+ xbt_assert((host->data == NULL), "Data already set");
host->data = data;
}
@@
-334,7
+353,7
@@
void SIMIX_execution_finish(smx_action_t action)
case SIMIX_FAILED:
TRY {
XBT_DEBUG("SIMIX_execution_finished: host '%s' failed", req->issuer->smx_host->name);
- THROW
0
(host_error, 0, "Host failed");
+ THROW
F
(host_error, 0, "Host failed");
}
CATCH(req->issuer->running_ctx->exception) {
req->issuer->doexception = 1;
@@
-344,7
+363,7
@@
void SIMIX_execution_finish(smx_action_t action)
case SIMIX_CANCELED:
TRY {
XBT_DEBUG("SIMIX_execution_finished: execution canceled");
- THROW
0
(cancel_error, 0, "Canceled");
+ THROW
F
(cancel_error, 0, "Canceled");
}
CATCH(req->issuer->running_ctx->exception) {
req->issuer->doexception = 1;