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
Merge branch 'master' into actor-yield
[simgrid.git]
/
include
/
simgrid
/
s4u
/
Host.hpp
diff --git
a/include/simgrid/s4u/Host.hpp
b/include/simgrid/s4u/Host.hpp
index
ab1dd5e
..
6913403
100644
(file)
--- a/
include/simgrid/s4u/Host.hpp
+++ b/
include/simgrid/s4u/Host.hpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2006-201
5
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-201
7
. 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. */
@@
-6,12
+6,11
@@
#ifndef SIMGRID_S4U_HOST_HPP
#define SIMGRID_S4U_HOST_HPP
#ifndef SIMGRID_S4U_HOST_HPP
#define SIMGRID_S4U_HOST_HPP
+#include <map>
#include <string>
#include <string>
-
-#include <boost/unordered_map.hpp>
+#include <unordered_map>
#include "xbt/Extendable.hpp"
#include "xbt/Extendable.hpp"
-#include "xbt/dict.h"
#include "xbt/signal.hpp"
#include "xbt/string.hpp"
#include "xbt/swag.h"
#include "xbt/signal.hpp"
#include "xbt/string.hpp"
#include "xbt/swag.h"
@@
-67,8
+66,10
@@
public:
/** Retrieves the host on which the current actor is running */
static s4u::Host* current();
/** Retrieves the host on which the current actor is running */
static s4u::Host* current();
- simgrid::xbt::string const& name() const { return name_; }
- const char* cname() { return name_.c_str(); }
+ /** Retrieves the name of that host as a C++ string */
+ simgrid::xbt::string const& getName() const { return name_; }
+ /** Retrieves the name of that host as a C string */
+ const char* getCname() const { return name_.c_str(); }
void actorList(std::vector<ActorPtr> * whereto);
void actorList(std::vector<ActorPtr> * whereto);
@@
-85,31
+86,37
@@
public:
/** Returns if that host is currently down and offline */
bool isOff() { return not isOn(); }
/** Returns if that host is currently down and offline */
bool isOff() { return not isOn(); }
- double
s
peed();
- int
c
oreCount();
-
xbt_dict_t p
roperties();
- const char*
p
roperty(const char* key);
- void setProperty(
const char* key, const char*
value);
- void
p
rocesses(std::vector<ActorPtr> * list);
+ double
getS
peed();
+ int
getC
oreCount();
+
std::map<std::string, std::string>* getP
roperties();
+ const char*
getP
roperty(const char* key);
+ void setProperty(
std::string key, std::string
value);
+ void
getP
rocesses(std::vector<ActorPtr> * list);
double getPstateSpeed(int pstate_index);
double getPstateSpeed(int pstate_index);
- int
p
statesCount() const;
+ int
getP
statesCount() const;
void setPstate(int pstate_index);
void setPstate(int pstate_index);
- int pstate();
- xbt_dict_t mountedStoragesAsDict(); // HACK
- void attachedStorages(std::vector<const char*> * storages);
+ int getPstate();
+ void getAttachedStorages(std::vector<const char*> * storages);
/** Get an associative list [mount point]->[Storage] of all local mount points.
*
* This is defined in the platform file, and cannot be modified programatically (yet).
*/
/** Get an associative list [mount point]->[Storage] of all local mount points.
*
* This is defined in the platform file, and cannot be modified programatically (yet).
*/
- boost::unordered_map<std::string, Storage*> const& mountedStorages();
+ std::unordered_map<std::string, Storage*> const& getMountedStorages();
+
+ void routeTo(Host* dest, std::vector<Link*>& links, double* latency);
+ void routeTo(Host* dest, std::vector<surf::LinkImpl*>& links, double* latency);
- void routeTo(Host * dest, std::vector<Link*> * links, double* latency);
- void routeTo(Host * dest, std::vector<surf::LinkImpl*> * links, double* latency);
+ /** Block the calling actor on an execution located on the called host
+ *
+ * It is not a problem if the actor is not located on the called host.
+ * The actor will not be migrated in this case. Such remote execution are easy in simulation.
+ */
+ void execute(double flops);
private:
simgrid::xbt::string name_ = "noname";
private:
simgrid::xbt::string name_ = "noname";
-
boost
::unordered_map<std::string, Storage*>* mounts = nullptr; // caching
+
std
::unordered_map<std::string, Storage*>* mounts = nullptr; // caching
public:
// TODO, this could be a unique_ptr
public:
// TODO, this could be a unique_ptr
@@
-145,9
+152,8
@@
public class Host {
* The external load (coming from an availability trace) is not taken in account.
*
* @return The number of tasks currently running on a host.
* The external load (coming from an availability trace) is not taken in account.
*
* @return The number of tasks currently running on a host.
- */
+ */
public native int getLoad();
public native int getLoad();
-
}
#endif
}
#endif