Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix a copyright line. Should be done for all files
[simgrid.git] / src / surf / network_private.h
1 /* Copyright (c) 2004-2012. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef _SURF_NETWORK_PRIVATE_H
7 #define _SURF_NETWORK_PRIVATE_H
8
9 #include "surf_private.h"
10 #include "xbt/dict.h"
11 #include "xbt/fifo.h"
12
13 typedef struct network_link_CM02 {
14   s_surf_resource_lmm_t lmm_resource;   /* must remain first to be added to a trace */
15
16   /* Using this object with the public part of
17      model does not make sense */
18   double lat_current;
19   tmgr_trace_event_t lat_event;
20 } s_link_CM02_t, *link_CM02_t;
21
22 enum heap_action_type{
23   LATENCY = 100,
24   MAX_DURATION,
25   NORMAL,
26   NOTSET
27 };
28
29 typedef struct surf_action_network_CM02 {
30   s_surf_action_t generic_action;
31   s_xbt_swag_hookup_t action_list_hookup;
32   double latency;
33   double lat_current;
34   double weight;
35   lmm_variable_t variable;
36   double rate;
37   struct {
38      const char* link_name;
39      double gap;
40      double size;
41      xbt_fifo_item_t fifo_item;
42   } sender;
43 #ifdef HAVE_LATENCY_BOUND_TRACKING
44   int latency_limited;
45 #endif
46   int suspended;
47 #ifdef HAVE_TRACING
48   char *src_name;
49   char *dst_name;
50 #endif
51   int index_heap;
52   enum heap_action_type hat;
53   double last_update;
54 } s_surf_action_network_CM02_t, *surf_action_network_CM02_t;
55
56 #endif                          /* _SURF_NETWORK_PRIVATE_H */