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 -->
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.