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
Adding test for SURF concurrency feature
[simgrid.git]
/
src
/
surf
/
ns3
/
ns3_interface.h
diff --git
a/src/surf/ns3/ns3_interface.h
b/src/surf/ns3/ns3_interface.h
index
8aaf466
..
d5c3a87
100644
(file)
--- a/
src/surf/ns3/ns3_interface.h
+++ b/
src/surf/ns3/ns3_interface.h
@@
-11,6
+11,10
@@
#include "xbt/dynar.h"
#include "xbt/misc.h"
#include "xbt/sysdep.h"
#include "xbt/dynar.h"
#include "xbt/misc.h"
#include "xbt/sysdep.h"
+#include <xbt/Extendable.hpp>
+
+#include <simgrid/s4u/host.hpp>
+#include <surf/surf_routing.h>
typedef enum {
NS3_NETWORK_ELEMENT_NULL = 0, /* NULL */
typedef enum {
NS3_NETWORK_ELEMENT_NULL = 0, /* NULL */
@@
-19,12
+23,15
@@
typedef enum {
NS3_NETWORK_ELEMENT_AS, /* AS type */
} e_ns3_network_element_type_t;
NS3_NETWORK_ELEMENT_AS, /* AS type */
} e_ns3_network_element_type_t;
+
typedef struct ns3_nodes{
int node_num;
e_ns3_network_element_type_t type;
void * data;
}s_ns3_nodes_t, *ns3_nodes_t;
typedef struct ns3_nodes{
int node_num;
e_ns3_network_element_type_t type;
void * data;
}s_ns3_nodes_t, *ns3_nodes_t;
+XBT_PUBLIC_DATA(int) NS3_EXTENSION_ID;
+
SG_BEGIN_DECL()
XBT_PUBLIC(int) ns3_finalize(void);
SG_BEGIN_DECL()
XBT_PUBLIC(int) ns3_finalize(void);
@@
-46,6
+53,16
@@
XBT_PUBLIC(void) ns3_add_link(int src, e_ns3_network_element_type_t type_src,
XBT_PUBLIC(void) ns3_end_platform(void);
XBT_PUBLIC(void) ns3_add_cluster(char * bw,char * lat,const char *id);
XBT_PUBLIC(void) ns3_end_platform(void);
XBT_PUBLIC(void) ns3_add_cluster(char * bw,char * lat,const char *id);
+XBT_INLINE
+ns3_nodes_t ns3_find_host(const char* id)
+{
+ sg_host_t host = sg_host_by_name(id);
+ if (host == nullptr)
+ return nullptr;
+ else
+ return (ns3_nodes_t) host->extension(NS3_EXTENSION_ID);
+}
+
SG_END_DECL()
#endif
SG_END_DECL()
#endif