X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fa2100f09707b904904ddb3bd7b05d07fad350e2..12cdc9f3fef6c84dea9a3eb4602c2183d8bd3a9e:/src/surf/network_private.h diff --git a/src/surf/network_private.h b/src/surf/network_private.h index d172dca27c..9b1ee7667a 100644 --- a/src/surf/network_private.h +++ b/src/surf/network_private.h @@ -1,46 +1,55 @@ -/* Authors: Arnaud Legrand */ +/* $Id$ */ + +/* Copyright (c) 2004 Arnaud Legrand. 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. */ + * under the terms of the license (GNU LGPL) which comes with this package. */ #ifndef _SURF_NETWORK_PRIVATE_H #define _SURF_NETWORK_PRIVATE_H #include "surf_private.h" - -typedef enum { - SURF_NETWORK_LINK_ON = 1, /* Ready */ - SURF_NETWORK_LINK_OFF = 0 /* Running */ -} e_surf_network_link_state_t; - -typedef struct network_link { - surf_resource_t resource; /* Any such object, added in a trace - should start by this field!!! */ - /* Using this object with the public part of - resource does not make sense */ - const char *name; - xbt_maxmin_float_t bw_current; +#include "network_common.h" +#include "xbt/dict.h" + +typedef struct network_link_CM02 { + surf_model_t model; /* Any such object, added in a trace + should start by this field!!! */ + xbt_dict_t properties; + /* Using this object with the public part of + model does not make sense */ + char *name; + double bw_current; tmgr_trace_event_t bw_event; - xbt_maxmin_float_t lat_current; + double lat_current; tmgr_trace_event_t lat_event; - e_surf_network_link_state_t state_current; + e_surf_link_state_t state_current; tmgr_trace_event_t state_event; lmm_constraint_t constraint; -} s_network_link_t, *network_link_t; +} s_link_CM02_t, *link_CM02_t; -typedef struct network_card { - const char *name; +typedef struct network_card_CM02 { + char *name; int id; -} s_network_card_t, *network_card_t; +} s_network_card_CM02_t, *network_card_CM02_t; -typedef struct surf_action_network { +typedef struct surf_action_network_CM02 { s_surf_action_t generic_action; - xbt_heap_float_t latency; - xbt_heap_float_t lat_current; + double latency; + double lat_current; lmm_variable_t variable; - network_card_t src; - network_card_t dst; -} s_surf_action_network_t, *surf_action_network_t; + double rate; + int suspended; + network_card_CM02_t src; + network_card_CM02_t dst; +} s_surf_action_network_CM02_t, *surf_action_network_CM02_t; + +extern int card_number; +extern link_CM02_t **routing_table; +extern int *routing_table_size; + +#define ROUTE(i,j) routing_table[(i)+(j)*card_number] +#define ROUTE_SIZE(i,j) routing_table_size[(i)+(j)*card_number] #endif /* _SURF_NETWORK_PRIVATE_H */