xbt_dict_foreach(trace_connect_list_power, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuCas01Ptr host = dynamic_cast<CpuCas01Ptr>(static_cast<ResourcePtr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm))));
+ CpuCas01Ptr host = static_cast<CpuCas01Ptr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm)));
xbt_assert(host, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
xbt_dict_foreach(trace_connect_list_power, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuTiPtr cpu = dynamic_cast<CpuTiPtr>(static_cast<ResourcePtr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm))));
+ CpuTiPtr cpu = static_cast<CpuTiPtr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm)));
xbt_assert(cpu, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
/* connect all traces relative to network */
xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02LinkPtr link = dynamic_cast<NetworkCm02LinkPtr>(
- static_cast<ResourcePtr>(
- xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL)));
+ NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
+ xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
trace_name, elm);
xbt_dict_foreach(trace_connect_list_bandwidth, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02LinkPtr link = dynamic_cast<NetworkCm02LinkPtr>(
- static_cast<ResourcePtr>(
- xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL)));
+ NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
+ xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
trace_name, elm);
xbt_dict_foreach(trace_connect_list_latency, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02LinkPtr link = dynamic_cast<NetworkCm02LinkPtr>(
- static_cast<ResourcePtr>(
- xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL)));
+ NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
+ xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
trace_name, elm);
src->p_name, dst->p_name);
xbt_dynar_foreach(route, i, _link) {
- link = dynamic_cast<NetworkCm02LinkPtr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<NetworkCm02LinkPtr>(_link);
if (link->getState() == SURF_RESOURCE_OFF) {
failed = 1;
break;
if (sg_network_crosstraffic == 1) {
routing_platf->getRouteAndLatency(dst, src, &back_route, NULL);
xbt_dynar_foreach(back_route, i, _link) {
- link = dynamic_cast<NetworkCm02LinkPtr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<NetworkCm02LinkPtr>(_link);
if (link->getState() == SURF_RESOURCE_OFF) {
failed = 1;
break;
bandwidth_bound = -1.0;
if (sg_weight_S_parameter > 0) {
xbt_dynar_foreach(route, i, _link) {
- link = dynamic_cast<NetworkCm02LinkPtr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<NetworkCm02LinkPtr>(_link);
action->m_weight += sg_weight_S_parameter / link->getBandwidth();
}
}
xbt_dynar_foreach(route, i, _link) {
- link = dynamic_cast<NetworkCm02LinkPtr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<NetworkCm02LinkPtr>(_link);
double bb = bandwidthFactor(size) * link->getBandwidth(); //(link->p_power.peak * link->p_power.scale);
bandwidth_bound =
(bandwidth_bound < 0.0) ? bb : min(bandwidth_bound, bb);
xbt_assert(!xbt_dynar_is_empty(route),
"Using a model with a gap (e.g., SMPI) with a platform without links (e.g. vivaldi)!!!");
- //link = *(NetworkCm02LinkPtr *) xbt_dynar_get_ptr(route, 0);
- link = dynamic_cast<NetworkCm02LinkPtr>(*static_cast<ResourcePtr *>(xbt_dynar_get_ptr(route, 0)));
+ link = *static_cast<NetworkCm02LinkPtr *>(xbt_dynar_get_ptr(route, 0));
gapAppend(size, link, action);
XBT_DEBUG("Comm %p: %s -> %s gap=%f (lat=%f)",
action, src->p_name, dst->p_name, action->m_senderGap,
}
xbt_dynar_foreach(route, i, _link) {
- link = dynamic_cast<NetworkCm02LinkPtr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<NetworkCm02LinkPtr>(_link);
lmm_expand(p_maxminSystem, link->getConstraint(), action->getVariable(), 1.0);
}
if (sg_network_crosstraffic == 1) {
XBT_DEBUG("Fullduplex active adding backward flow using 5%%");
xbt_dynar_foreach(back_route, i, _link) {
- link = dynamic_cast<NetworkCm02LinkPtr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<NetworkCm02LinkPtr>(_link);
lmm_expand(p_maxminSystem, link->getConstraint(), action->getVariable(), .05);
}
}
ActionListPtr actionSet = getRunningActionSet();
for(ActionList::iterator it(actionSet->begin()), itend(actionSet->end())
; it != itend ; ++it) {
- action = dynamic_cast<NetworkConstantActionPtr>(&*it);
+ action = static_cast<NetworkConstantActionPtr>(&*it);
if (action->m_latency > 0) {
if (min < 0)
min = action->m_latency;
for(ActionList::iterator it(actionSet->begin()), itNext=it, itend(actionSet->end())
; it != itend ; it=itNext) {
++itNext;
- action = dynamic_cast<NetworkConstantActionPtr>(&*it);
+ action = static_cast<NetworkConstantActionPtr>(&*it);
if (action->m_latency > 0) {
if (action->m_latency > delta) {
double_update(&(action->m_latency), delta);
static XBT_INLINE void surf_storage_resource_free(void *r)
{
// specific to storage
- StoragePtr storage = dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(r));
+ StoragePtr storage = static_cast<StoragePtr>(r);
// generic resource
delete storage;
}
// Foreach write action on disk
xbt_dynar_foreach(storage->p_writeActions, j, _write_action)
{
- write_action = dynamic_cast<StorageActionPtr>(static_cast<ActionPtr>(_write_action));
+ write_action = static_cast<StorageActionPtr>(_write_action);
rate += lmm_variable_getvalue(write_action->getVariable());
}
if(rate > 0)
for(ActionList::iterator it(actionSet->begin()), itNext=it, itend(actionSet->end())
; it != itend ; it=itNext) {
++itNext;
- action = dynamic_cast<StorageActionPtr>(&*it);
+ action = static_cast<StorageActionPtr>(&*it);
if(action->m_type == WRITE)
{
// Update the disk usage
StorageActionPtr write_action;
unsigned int i;
xbt_dynar_foreach(p_writeActions, i, _write_action) {
- write_action = dynamic_cast<StorageActionPtr>(static_cast<ActionPtr>(_write_action));
+ write_action = static_cast<StorageActionPtr>(static_cast<ActionPtr>(_write_action));
if ((write_action->p_file) == fd) {
xbt_dynar_cursor_rm(p_writeActions, &i);
write_action->unref();
*********/
static CpuPtr get_casted_cpu(surf_resource_t resource){
- return dynamic_cast<CpuPtr>(static_cast<ResourcePtr>(surf_cpu_resource_priv(resource)));
+ return static_cast<CpuPtr>(surf_cpu_resource_priv(resource));
}
static WorkstationPtr get_casted_workstation(surf_resource_t resource){
- return dynamic_cast<WorkstationPtr>(static_cast<ResourcePtr>(surf_workstation_resource_priv(resource)));
+ return static_cast<WorkstationPtr>(surf_workstation_resource_priv(resource));
}
static WorkstationVMPtr get_casted_vm_workstation(surf_resource_t resource){
- return dynamic_cast<WorkstationVMPtr>(static_cast<ResourcePtr>(surf_workstation_resource_priv(resource)));
+ return static_cast<WorkstationVMPtr>(surf_workstation_resource_priv(resource));
}
char *surf_routing_edge_name(sg_routing_edge_t edge){
}
void surf_as_cluster_set_backbone(AS_t as, void* backbone){
- static_cast<AsClusterPtr>(as)->p_backbone = dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(backbone));
+ static_cast<AsClusterPtr>(as)->p_backbone = static_cast<NetworkLinkPtr>(backbone);
}
const char *surf_model_name(surf_model_t model){
}
int surf_network_link_is_shared(surf_cpp_resource_t link){
- return dynamic_cast<NetworkLinkPtr>(link)->isShared();
+ return static_cast<NetworkLinkPtr>(link)->isShared();
}
double surf_network_link_get_bandwidth(surf_cpp_resource_t link){
- return dynamic_cast<NetworkLinkPtr>(link)->getBandwidth();
+ return static_cast<NetworkLinkPtr>(link)->getBandwidth();
}
double surf_network_link_get_latency(surf_cpp_resource_t link){
- return dynamic_cast<NetworkLinkPtr>(link)->getLatency();
+ return static_cast<NetworkLinkPtr>(link)->getLatency();
}
xbt_dict_t surf_storage_get_content(surf_resource_t resource){
- return dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(surf_storage_resource_priv(resource)))->getContent();
+ return static_cast<StoragePtr>(surf_storage_resource_priv(resource))->getContent();
}
sg_size_t surf_storage_get_size(surf_resource_t resource){
- return dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(surf_storage_resource_priv(resource)))->getSize();
+ return static_cast<StoragePtr>(surf_storage_resource_priv(resource))->getSize();
}
void surf_storage_rename(surf_resource_t resource, const char* src, const char* dest){
- dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(surf_storage_resource_priv(resource)))->rename(src, dest);
+ static_cast<StoragePtr>(surf_storage_resource_priv(resource))->rename(src, dest);
}
surf_action_t surf_cpu_execute(surf_resource_t cpu, double size){
}
void surf_cpu_action_set_affinity(surf_action_t action, surf_resource_t cpu, unsigned long mask) {
- dynamic_cast<CpuActionPtr>(action)->setAffinity(get_casted_cpu(cpu), mask);
+ static_cast<CpuActionPtr>(action)->setAffinity(get_casted_cpu(cpu), mask);
}
void surf_cpu_action_set_bound(surf_action_t action, double bound) {
- dynamic_cast<CpuActionPtr>(action)->setBound(bound);
+ static_cast<CpuActionPtr>(action)->setBound(bound);
}
surf_file_t surf_storage_action_get_file(surf_action_t action){
- return dynamic_cast<StorageActionPtr>(action)->p_file;
+ return static_cast<StorageActionPtr>(action)->p_file;
}
xbt_dict_t surf_storage_action_get_ls_dict(surf_action_t action){
- return dynamic_cast<StorageActionPtr>(action)->p_lsDict;
+ return static_cast<StorageActionPtr>(action)->p_lsDict;
}
static XBT_INLINE void surf_cpu_free(void *r)
{
- delete dynamic_cast<CpuPtr>(static_cast<ResourcePtr>(r));
+ delete static_cast<CpuPtr>(r);
}
static XBT_INLINE void surf_link_free(void *r)
{
- delete dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(r));
+ delete static_cast<NetworkLinkPtr>(r);
}
static XBT_INLINE void surf_workstation_free(void *r)
{
- delete dynamic_cast<WorkstationPtr>(static_cast<ResourcePtr>(r));
+ delete static_cast<WorkstationPtr>(r);
}
void Action::cancel(){
setState(SURF_ACTION_FAILED);
if (getModel()->getUpdateMechanism() == UM_LAZY) {
- getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this));
+ if (actionLmmHook::is_linked())
+ getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this));
heapRemove(getModel()->getActionHeap());
}
}
if((src->m_id == dst->m_id) && info.loopback_link ){
xbt_dynar_push_as(route->link_list, void *, info.loopback_link);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(info.loopback_link))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(info.loopback_link)->getLatency();
return;
}
if (info.link_up) { // link up
xbt_dynar_push_as(route->link_list, void *, info.link_up);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(info.link_up))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(info.link_up)->getLatency();
}
}
if (info.link_down) { // link down
xbt_dynar_push_as(route->link_list, void *, info.link_down);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(info.link_down))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(info.link_down)->getLatency();
}
if (info.limiter_link) // limiter for receiver
xbt_dynar_foreach(links, cpt, link) {
xbt_dynar_unshift(route->link_list, &link);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(link))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(link)->getLatency();
}
}
xbt_dynar_foreach(links, cpt, link) {
xbt_dynar_insert_at(route->link_list, pos, &link);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(link))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(link)->getLatency();
pos++;
}
}
xbt_dynar_foreach(links, cpt, link) {
xbt_dynar_unshift(route->link_list, &link);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(link))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(link)->getLatency();
}
size++;
}
xbt_dynar_foreach(links, cpt, link) {
xbt_dynar_push_as(res->link_list, sg_routing_link_t, link);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(link))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(link)->getLatency();
}
prev_dst_gw = e_route->gw_dst;
xbt_dynar_foreach(e_route->link_list, cpt, link) {
xbt_dynar_push(res->link_list, &link);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(link))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(link)->getLatency();
}
}
}
if(info.link_up) { // link up
xbt_dynar_push_as(route->link_list, void*, info.link_up);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(info.link_up))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(info.link_up)->getLatency();
}
}
src_ctn = (xbt_dynar_t) xbt_lib_get_or_null(host_lib, tmp_src_name, COORD_HOST_LEVEL);
if(info.link_down) { // link down
xbt_dynar_push_as(route->link_list,void*,info.link_down);
if (lat)
- *lat += dynamic_cast<NetworkLinkPtr>(static_cast<ResourcePtr>(info.link_down))->getLatency();
+ *lat += static_cast<NetworkLinkPtr>(info.link_down)->getLatency();
}
}
dst_ctn = (xbt_dynar_t) xbt_lib_get_or_null(host_lib, tmp_dst_name, COORD_HOST_LEVEL);
char *key;
void **ind_host;
xbt_lib_foreach(host_lib, cursor, key, ind_host) {
- WorkstationPtr ws = dynamic_cast<WorkstationPtr>(
- static_cast<ResourcePtr>(ind_host[SURF_WKS_LEVEL]));
- CpuPtr cpu = dynamic_cast<CpuPtr>(
- static_cast<ResourcePtr>(ind_host[SURF_CPU_LEVEL]));
+ WorkstationPtr ws = static_cast<WorkstationPtr>(ind_host[SURF_WKS_LEVEL]);
+ CpuPtr cpu = static_cast<CpuPtr>(ind_host[SURF_CPU_LEVEL]);
if (!ws)
continue;
xbt_assert(cpu, "cpu-less workstation");
/* It is a virtual machine, so we can cast it to workstation_VM2013_t */
- WorkstationVMPtr ws_vm = dynamic_cast<WorkstationVMPtr>(ws);
+ WorkstationVMPtr ws_vm = static_cast<WorkstationVMPtr>(ws);
- double solved_value = get_solved_value(reinterpret_cast<CpuActionPtr>(ws_vm->p_action));
+ double solved_value = get_solved_value(static_cast<CpuActionPtr>(ws_vm->p_action));
XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value,
ws->getName(), ws_vm->p_subWs->getName());
surf_resource_t ind_phys_workstation)
: WorkstationVM(model, name, props, NULL, NULL)
{
- WorkstationPtr sub_ws = dynamic_cast<WorkstationPtr>(
- static_cast<ResourcePtr>(
- surf_workstation_resource_priv(ind_phys_workstation)));
+ WorkstationPtr sub_ws = static_cast<WorkstationPtr>(surf_workstation_resource_priv(ind_phys_workstation));
/* Currently, we assume a VM has no storage. */
p_storage = NULL;
// //// CPU RELATED STUFF ////
// Roughly, create a vcpu resource by using the values of the sub_cpu one.
- CpuCas01Ptr sub_cpu = dynamic_cast<CpuCas01Ptr>(
- static_cast<ResourcePtr>(
- surf_cpu_resource_priv(ind_phys_workstation)));
+ CpuCas01Ptr sub_cpu = static_cast<CpuCas01Ptr>(surf_cpu_resource_priv(ind_phys_workstation));
/* We can assume one core and cas01 cpu for the first step.
* Do xbt_lib_set(host_lib, name, SURF_CPU_LEVEL, cpu) if you get the resource. */
/* We create cpu_action corresponding to a VM process on the host operating system. */
/* FIXME: TODO: we have to peridocally input GUESTOS_NOISE to the system? how ? */
// vm_ws->cpu_action = surf_cpu_model_pm->extension.cpu.execute(ind_phys_workstation, GUESTOS_NOISE);
- p_action = dynamic_cast<CpuActionPtr>(sub_cpu->execute(0));
+ p_action = static_cast<CpuActionPtr>(sub_cpu->execute(0));
/* The SURF_WKS_LEVEL at host_lib saves workstation_CLM03 objects. Please
* note workstation_VM2013 objects, inheriting the workstation_CLM03
surf_resource_t ind_vm_workstation = xbt_lib_get_elm_or_null(host_lib, getName());
/* Before clearing the entries in host_lib, we have to pick up resources. */
- CpuCas01Ptr cpu = dynamic_cast<CpuCas01Ptr>(
- static_cast<ResourcePtr>(
- surf_cpu_resource_priv(ind_vm_workstation)));
+ CpuCas01Ptr cpu = static_cast<CpuCas01Ptr>(surf_cpu_resource_priv(ind_vm_workstation));
/* We deregister objects from host_lib, without invoking the freeing callback
* of each level.
void WorkstationVMHL13::migrate(surf_resource_t ind_dst_pm)
{
/* ind_phys_workstation equals to smx_host_t */
- WorkstationPtr ws_dst = dynamic_cast<WorkstationPtr>(
- static_cast<ResourcePtr>(
- surf_workstation_resource_priv(ind_dst_pm)));
+ WorkstationPtr ws_dst = static_cast<WorkstationPtr>(surf_workstation_resource_priv(ind_dst_pm));
const char *vm_name = getName();
const char *pm_name_src = p_subWs->getName();
const char *pm_name_dst = ws_dst->getName();
#endif
/* create a cpu action bound to the pm model at the destination. */
- CpuActionPtr new_cpu_action = dynamic_cast<CpuActionPtr>(
- dynamic_cast<CpuCas01Ptr>(
- static_cast<ResourcePtr>(
- surf_cpu_resource_priv(ind_dst_pm)))->execute(0));
+ CpuActionPtr new_cpu_action = static_cast<CpuActionPtr>(
+ static_cast<CpuPtr>(surf_cpu_resource_priv(ind_dst_pm))->execute(0));
e_surf_action_state_t state = p_action->getState();
if (state != SURF_ACTION_DONE)
surf_resource_t ind_vm_workstation = xbt_lib_get_elm_or_null(host_lib, getName());
/* Before clearing the entries in host_lib, we have to pick up resources. */
- CpuCas01Ptr cpu = dynamic_cast<CpuCas01Ptr>(
- static_cast<ResourcePtr>(
- surf_cpu_resource_priv(ind_vm_workstation)));
+ CpuCas01Ptr cpu = static_cast<CpuCas01Ptr>(surf_cpu_resource_priv(ind_vm_workstation));
/* We deregister objects from host_lib, without invoking the freeing callback
* of each level.
WorkstationPtr workstation = new WorkstationCLM03(surf_workstation_model, name, NULL,
(xbt_dynar_t)xbt_lib_get_or_null(storage_lib, name, ROUTING_STORAGE_HOST_LEVEL),
(RoutingEdgePtr)xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL),
- dynamic_cast<CpuPtr>(static_cast<ResourcePtr>(xbt_lib_get_or_null(host_lib, name, SURF_CPU_LEVEL))));
+ static_cast<CpuPtr>(xbt_lib_get_or_null(host_lib, name, SURF_CPU_LEVEL)));
XBT_DEBUG("Create workstation %s with %ld mounted disks", name, xbt_dynar_length(workstation->p_storage));
xbt_lib_set(host_lib, name, SURF_WKS_LEVEL, static_cast<ResourcePtr>(workstation));
return workstation;
void **ind_host;
xbt_lib_foreach(host_lib, cursor, key, ind_host) {
- WorkstationPtr ws = dynamic_cast<WorkstationPtr>(
- static_cast<ResourcePtr>(ind_host[SURF_WKS_LEVEL]));
- CpuCas01Ptr cpu_cas01 = dynamic_cast<CpuCas01Ptr>(
- static_cast<ResourcePtr>(ind_host[SURF_CPU_LEVEL]));
+ WorkstationPtr ws = static_cast<WorkstationPtr>(ind_host[SURF_WKS_LEVEL]);
+ CpuCas01Ptr cpu_cas01 = static_cast<CpuCas01Ptr>(ind_host[SURF_CPU_LEVEL]);
if (!ws)
continue;
xbt_assert(cpu_cas01, "cpu-less workstation");
/* It is a virtual machine, so we can cast it to workstation_VM2013_t */
- WorkstationVMPtr ws_vm = dynamic_cast<WorkstationVMPtr>(ws);
+ WorkstationVMPtr ws_vm = static_cast<WorkstationVMPtr>(ws);
int is_active = lmm_constraint_used(cpu_cas01->getModel()->getMaxminSystem(), cpu_cas01->getConstraint());
// int is_active_old = constraint_is_active(cpu_cas01);
{
XBT_DEBUG("See '%s'",mnt.name);
if(!strcmp(mount,mnt.name)){
- st = dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(mnt.storage));
+ st = static_cast<StoragePtr>(mnt.storage);
break;
}
}
char *storage_name = NULL;
xbt_dynar_foreach(p_storage,i,mnt){
- storage_name = (char *)dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(mnt.storage))->getName();
+ storage_name = (char *)static_cast<StoragePtr>(mnt.storage)->getName();
xbt_dict_set(storage_list,mnt.name,storage_name,NULL);
}
return storage_list;
char *key;
void **ind_host;
xbt_lib_foreach(host_lib, cursor, key, ind_host) {
- WorkstationPtr ws = dynamic_cast<WorkstationPtr>(static_cast<ResourcePtr>(ind_host[SURF_WKS_LEVEL]));
+ WorkstationPtr ws = static_cast<WorkstationPtr>(ind_host[SURF_WKS_LEVEL]);
if (!ws)
continue;
/* skip if it is not a virtual machine */
continue;
/* It is a virtual machine, so we can cast it to workstation_VM2013_t */
- WorkstationVMPtr ws_vm = dynamic_cast<WorkstationVMPtr>(ws);
+ WorkstationVMPtr ws_vm = static_cast<WorkstationVMPtr>(ws);
if (this == ws_vm-> p_subWs)
xbt_dynar_push(dyn, &ws_vm->p_subWs);
}
for(ActionList::iterator it(running_actions->begin()), itend(running_actions->end())
; it != itend ; ++it) {
- action = dynamic_cast<WorkstationL07ActionPtr>(&*it);
+ action = static_cast<WorkstationL07ActionPtr>(&*it);
if (action->m_latency > 0) {
if (min < 0) {
min = action->m_latency;
for(ActionList::iterator it(actionSet->begin()), itNext = it, itend(actionSet->end())
; it != itend ; it=itNext) {
++itNext;
- action = dynamic_cast<WorkstationL07ActionPtr>(&*it);
+ action = static_cast<WorkstationL07ActionPtr>(&*it);
deltap = delta;
if (action->m_latency > 0) {
if (action->m_latency > deltap) {
void *_link;
LinkL07Ptr link;
- routing_platf->getRouteAndLatency(dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(
- workstation_list[i]))->p_netElm,
- dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(
- workstation_list[j]))->p_netElm,
+ routing_platf->getRouteAndLatency(static_cast<WorkstationL07Ptr>(workstation_list[i])->p_netElm,
+ static_cast<WorkstationL07Ptr>(workstation_list[j])->p_netElm,
&route,
&lat);
latency = MAX(latency, lat);
xbt_dynar_foreach(route, cpt, _link) {
- link = dynamic_cast<LinkL07Ptr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<LinkL07Ptr>(_link);
xbt_dict_set(ptask_parallel_task_link_set, link->getName(), link, NULL);
}
}
for (i = 0; i < workstation_nb; i++)
lmm_expand(ptask_maxmin_system,
- static_cast<CpuPtr>(dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(workstation_list[i]))->p_cpu)->getConstraint(),
+ static_cast<CpuPtr>(static_cast<WorkstationL07Ptr>(workstation_list[i])->p_cpu)->getConstraint(),
action->getVariable(), computation_amount[i]);
for (i = 0; i < workstation_nb; i++) {
if (communication_amount[i * workstation_nb + j] == 0.0)
continue;
- routing_platf->getRouteAndLatency(dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(workstation_list[i]))->p_netElm,
- dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(workstation_list[j]))->p_netElm,
+ routing_platf->getRouteAndLatency(static_cast<WorkstationL07Ptr>(workstation_list[i])->p_netElm,
+ static_cast<WorkstationL07Ptr>(workstation_list[j])->p_netElm,
&route, NULL);
xbt_dynar_foreach(route, cpt, _link) {
- link = dynamic_cast<LinkL07Ptr>(static_cast<ResourcePtr>(_link));
+ link = static_cast<LinkL07Ptr>(_link);
lmm_expand_add(ptask_maxmin_system, link->getConstraint(),
action->getVariable(),
communication_amount[i * workstation_nb + j]);
wk = new WorkstationL07(this, name, NULL,
static_cast<RoutingEdgePtr>(xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL)),
- dynamic_cast<CpuPtr>(static_cast<ResourcePtr>(xbt_lib_get_or_null(host_lib, name, SURF_CPU_LEVEL))));
+ static_cast<CpuPtr>(xbt_lib_get_or_null(host_lib, name, SURF_CPU_LEVEL)));
xbt_lib_set(host_lib, name, SURF_WKS_LEVEL, static_cast<ResourcePtr>(wk));
/* Connect traces relative to cpu */
xbt_dict_foreach(trace_connect_list_host_avail, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuL07Ptr host = dynamic_cast<CpuL07Ptr>(
- static_cast<ResourcePtr>(
- surf_cpu_resource_priv(
- surf_cpu_resource_by_name(elm))));
+ CpuL07Ptr host = static_cast<CpuL07Ptr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm)));
xbt_assert(host, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
xbt_dict_foreach(trace_connect_list_power, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuL07Ptr host = dynamic_cast<CpuL07Ptr>(
- static_cast<ResourcePtr>(
- surf_cpu_resource_priv(
- surf_cpu_resource_by_name(elm))));
+ CpuL07Ptr host = static_cast<CpuL07Ptr>(surf_cpu_resource_priv(surf_cpu_resource_by_name(elm)));
xbt_assert(host, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
/* Connect traces relative to network */
xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- LinkL07Ptr link = dynamic_cast<LinkL07Ptr>(static_cast<ResourcePtr>(xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL)));
+ LinkL07Ptr link = static_cast<LinkL07Ptr>(xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
xbt_assert(link, "Link %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
xbt_dict_foreach(trace_connect_list_bandwidth, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- LinkL07Ptr link = dynamic_cast<LinkL07Ptr>(static_cast<ResourcePtr>(xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL)));
+ LinkL07Ptr link = static_cast<LinkL07Ptr>(xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
xbt_assert(link, "Link %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
xbt_dict_foreach(trace_connect_list_latency, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- LinkL07Ptr link = dynamic_cast<LinkL07Ptr>(static_cast<ResourcePtr>(xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL)));
+ LinkL07Ptr link = static_cast<LinkL07Ptr>(xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
xbt_assert(link, "Link %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
XBT_IN("(%s,%g)", getName(), duration);
- action = dynamic_cast<WorkstationL07ActionPtr>(execute(1.0));
+ action = static_cast<WorkstationL07ActionPtr>(execute(1.0));
action->m_maxDuration = duration;
action->m_suspended = 2;
lmm_update_variable_weight(ptask_maxmin_system, action->getVariable(), 0.0);
if (p_communicationAmount[i * m_workstationNb + j] > 0) {
double lat = 0.0;
- routing_platf->getRouteAndLatency(dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(((void**)p_workstationList)[i]))->p_netElm,
- dynamic_cast<WorkstationL07Ptr>(
- static_cast<ResourcePtr>(((void**)p_workstationList)[j]))->p_netElm,
+ routing_platf->getRouteAndLatency(static_cast<WorkstationL07Ptr>(((void**)p_workstationList)[i])->p_netElm,
+ static_cast<WorkstationL07Ptr>(((void**)p_workstationList)[j])->p_netElm,
&route, &lat);
lat_current = MAX(lat_current, lat * p_communicationAmount[i * m_workstationNb + j]);