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 sources with win32 for pthread.
[simgrid.git]
/
testsuite
/
surf
/
surf_usage.c
diff --git
a/testsuite/surf/surf_usage.c
b/testsuite/surf/surf_usage.c
index
0120883
..
1bc9289
100644
(file)
--- a/
testsuite/surf/surf_usage.c
+++ b/
testsuite/surf/surf_usage.c
@@
-1,12
+1,11
@@
-/* $Id$ */
-
/* A few basic tests for the surf library */
/* A few basic tests for the surf library */
-/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */
+/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. 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. */
/* 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. */
-
+
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifdef __BORLANDC__
#pragma hdrstop
#endif
@@
-15,7
+14,7
@@
#include "surf/surf.h"
#include "xbt/log.h"
#include "surf/surf.h"
#include "xbt/log.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test,"Messages specific for surf example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test,
"Messages specific for surf example");
const char *string_action(e_surf_action_state_t state);
const char *string_action(e_surf_action_state_t state)
const char *string_action(e_surf_action_state_t state);
const char *string_action(e_surf_action_state_t state)
@@
-52,31
+51,29
@@
void test(char *platform)
e_surf_action_state_t stateActionC;
double now = -1.0;
e_surf_action_state_t stateActionC;
double now = -1.0;
- surf_cpu_model_init_Cas01(platform); /* Now it is possible to use CPUs */
- surf_network_model_init_CM02(platform); /* Now it is possible to use eth0 */
+ surf_cpu_model_init_Cas01(platform);
/* Now it is possible to use CPUs */
+ surf_network_model_init_CM02(platform);
/* Now it is possible to use eth0 */
parse_platform_file(platform);
/*********************** CPU ***********************************/
DEBUG1("%p", surf_cpu_model);
parse_platform_file(platform);
/*********************** CPU ***********************************/
DEBUG1("%p", surf_cpu_model);
- cpuA = surf_
cpu_model->common_public->name_service(
"Cpu A");
- cpuB = surf_
cpu_model->common_public->name_service(
"Cpu B");
+ cpuA = surf_
model_resource_by_name(surf_cpu_model,
"Cpu A");
+ cpuB = surf_
model_resource_by_name(surf_cpu_model,
"Cpu B");
/* Let's check that those two processors exist */
/* Let's check that those two processors exist */
- DEBUG2("%s : %p",
- surf_cpu_model->common_public->get_resource_name(cpuA), cpuA);
- DEBUG2("%s : %p",
- surf_cpu_model->common_public->get_resource_name(cpuB), cpuB);
+ DEBUG2("%s : %p",surf_resource_name(cpuA), cpuA);
+ DEBUG2("%s : %p",surf_resource_name(cpuB), cpuB);
/* Let's do something on it */
/* Let's do something on it */
- actionA = surf_cpu_model->extension
_public->
execute(cpuA, 1000.0);
- actionB = surf_cpu_model->extension
_public->
execute(cpuB, 1000.0);
- actionC = surf_cpu_model->extension
_public->
sleep(cpuB, 7.32);
+ actionA = surf_cpu_model->extension
.cpu.
execute(cpuA, 1000.0);
+ actionB = surf_cpu_model->extension
.cpu.
execute(cpuB, 1000.0);
+ actionC = surf_cpu_model->extension
.cpu.
sleep(cpuB, 7.32);
/* Use whatever calling style you want... */
/* Use whatever calling style you want... */
- stateActionA = surf_cpu_model->
common_public->action_get_state(actionA);
/* When you know actionA model type */
- stateActionB = actionB->model_type->
common_public->action_get_state(actionB);
/* If you're unsure about it's model type */
- stateActionC = surf_cpu_model->
common_public->action_get_state(actionC);
/* When you know actionA model type */
+ stateActionA = surf_cpu_model->
action_state_get(actionA);
/* When you know actionA model type */
+ stateActionB = actionB->model_type->
action_state_get(actionB);
/* If you're unsure about it's model type */
+ stateActionC = surf_cpu_model->
action_state_get(actionC);
/* When you know actionA model type */
/* And just look at the state of these tasks */
DEBUG2("actionA : %p (%s)", actionA, string_action(stateActionA));
/* And just look at the state of these tasks */
DEBUG2("actionA : %p (%s)", actionA, string_action(stateActionA));
@@
-85,55
+82,49
@@
void test(char *platform)
/*********************** Network *******************************/
DEBUG1("%p", surf_network_model);
/*********************** Network *******************************/
DEBUG1("%p", surf_network_model);
- cardA = surf_
network_model->common_public->name_service(
"Cpu A");
- cardB = surf_
network_model->common_public->name_service(
"Cpu B");
+ cardA = surf_
model_resource_by_name(surf_network_model,
"Cpu A");
+ cardB = surf_
model_resource_by_name(surf_network_model,
"Cpu B");
/* Let's check that those two processors exist */
/* Let's check that those two processors exist */
- DEBUG2("%s : %p",
- surf_network_model->common_public->get_resource_name(cardA),
- cardA);
- DEBUG2("%s : %p",
- surf_network_model->common_public->get_resource_name(cardB),
- cardB);
+ DEBUG2("%s : %p", surf_resource_name(cardA), cardA);
+ DEBUG2("%s : %p", surf_resource_name(cardB), cardB);
/* Let's do something on it */
commAB =
/* Let's do something on it */
commAB =
- surf_network_model->extension_public->communicate(cardA, cardB,
-
150.0,
-1.0);
+ surf_network_model->extension.network.communicate("Cpu A","Cpu B", 0, 1, /* FIXME: hardcoding host number is bad */
+
150.0,
-1.0);
- surf_solve();
/* Takes traces into account. Returns 0.0 */
+ surf_solve(); /* Takes traces into account. Returns 0.0 */
do {
surf_action_t action = NULL;
now = surf_get_clock();
DEBUG1("Next Event : %g", now);
DEBUG0("\t CPU actions");
while ((action =
do {
surf_action_t action = NULL;
now = surf_get_clock();
DEBUG1("Next Event : %g", now);
DEBUG0("\t CPU actions");
while ((action =
- xbt_swag_extract(surf_cpu_model->common_public->states.
- failed_action_set))) {
+ xbt_swag_extract(surf_cpu_model->states.failed_action_set))) {
DEBUG1("\t * Failed : %p", action);
DEBUG1("\t * Failed : %p", action);
- action->model_type->
common_public->action_free
(action);
+ action->model_type->
action_unref
(action);
}
while ((action =
}
while ((action =
- xbt_swag_extract(surf_cpu_model->common_public->states.
- done_action_set))) {
+ xbt_swag_extract(surf_cpu_model->states.done_action_set))) {
DEBUG1("\t * Done : %p", action);
DEBUG1("\t * Done : %p", action);
- action->model_type->
common_public->action_free
(action);
+ action->model_type->
action_unref
(action);
}
DEBUG0("\t Network actions");
while ((action =
}
DEBUG0("\t Network actions");
while ((action =
- xbt_swag_extract(surf_network_model->common_public->states.
- failed_action_set))) {
+ xbt_swag_extract(surf_network_model->states.failed_action_set))) {
DEBUG1("\t * Failed : %p", action);
DEBUG1("\t * Failed : %p", action);
- action->model_type->
common_public->action_free
(action);
+ action->model_type->
action_unref
(action);
}
while ((action =
}
while ((action =
- xbt_swag_extract(surf_network_model->common_public->states.
- done_action_set))) {
+ xbt_swag_extract(surf_network_model->states.done_action_set))) {
DEBUG1("\t * Done : %p", action);
DEBUG1("\t * Done : %p", action);
- action->model_type->
common_public->action_free
(action);
+ action->model_type->
action_unref
(action);
}
}
- } while (surf_solve()>=0.0);
+ } while ((xbt_swag_size(surf_network_model->states.running_action_set) ||
+ xbt_swag_size(surf_cpu_model->states.running_action_set)) &&
+ surf_solve() >= 0.0);
DEBUG0("Simulation Terminated");
}
DEBUG0("Simulation Terminated");
}
@@
-144,10
+135,10
@@
void test(char *platform)
int main(int argc, char **argv)
{
int main(int argc, char **argv)
{
- surf_init(&argc, argv); /* Initialize some common structures */
- if
(argc==
1) {
-
fprintf(stderr,"Usage : %s platform.xml\n",
argv[0]);
-
return 1;
+ surf_init(&argc, argv);
/* Initialize some common structures */
+ if
(argc ==
1) {
+
fprintf(stderr, "Usage : %s platform.xml\n",
argv[0]);
+ return 1;
}
test(argv[1]);
}
test(argv[1]);