~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
cvs/emstar/devel/sympathy_devel/data.xml


  1 <main>
  2 
  3 <sensor_data mote_id="158" timestamp_mote_transmitted="123451234" timestamp_mote_server_received="123451234">
  4   <!-- XML is not typed, so it can be int, char, long, string -->
  5   <sensor type="131" value="25555"/>
  6 </sensor_data>
  7 
  8 <!-- sympathy data -->
  9 <sympathy_data mote_id="158" time_awake_mins="123451234">
 10 
 11     <!-- if no failure, congestion, or sink, then omit printing completely -->
 12     <failure_type>3</failure_type>
 13     <root_cause>3</root_cause>
 14     <failure_localization>3</failure_localization>
 15     <congestion_detected>1</congestion_detected>
 16     <sink>1</sink>
 17 
 18     <packet_table>
 19             <packet type="NEIGHBOR" number_rx="52" />
 20             <packet type="ROUTE" number_rx="30" />
 21             <packet type="SYMPATHY" number_rx="30" />
 22             <packet type="BEACON" number_rx="30" />
 23     </packet_table>
 24 
 25     <!-- print the following ONLY when they change -->
 26     <neighbor_list>
 27       <node mote_id="159" ingress="245" egress="235" avg_rssi="34" />
 28     </neighbor_list>
 29 
 30     <!-- print the following ONLY when we received an update -->
 31     <routing_table>
 32       <sink mote_id="2" next_hop_address="158" path_quality="245"/>
 33       <sink mote_id="3" next_hop_address="158" path_quality="235"/>
 34     </routing_table>
 35 
 36     <!-- print this ONLY when it changed -->
 37     <!-- we dont need this if it can be calculated by the data-base -->
 38     <!-- <routing_children>
 39       <node mote_id="5"/>
 40       <node mote_id="30"/>
 41     </routing_children> -->
 42 
 43     <!-- print the following ONLY when it changed.  -->
 44     <num_neighbors_heard_this_node>5</num_neighbors_heard_this_node>
 45     ...
 46 </sympathy_data>
 47 
 48 </main>
 49 <!--
 50 2) Sympathy Data, provided for each node:
 51 typedef struct sympathy_data {
 52   int node_address;
 53 **  neighbor_t neighbor_list[MAX_NEIGHBORS];
 54 **  route_t routing_table[MAX_SINKS];
 55   int (char *?) failure_type;
 56   bool congestion_detected;
 57   bool sink; /* Is this the sink */
 58 **  packet_t packet_table[MAX_PACKET_TYPES];
 59   int routing_children[MAX_CHILDREN]; /* Who are children of this node */
 60   int neighbors_heard_this_node[MAX_NEIGHBORS];
 61 }
 62 
 63 typedef struct packet {
 64   pkt_type type; /* an enum? */
 65   int number_rx; /* Number received from this node */
 66   int minutes_since_last_received;
 67 } packet_t;
 68 
 69 enum {
 70   NEIGHBOR = 0,
 71   ROUTING,
 72   COMP_1,
 73   COMP_2,
 74   MAX_PACKETS
 75 } pkt_type;
 76 
 77 typedef struct neighbor {
 78   int address;
 79   uint8_t ingress;
 80   uint8_t egress;
 81 } neighbor_t;
 82 
 83 typedef struct route {
 84   int sink_address;
 85   int next_hop_address;
 86   uint8_t path_quality;
 87 } route_t;
 88 -->

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.