kitt_platform
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros
TopicStatistics.h
Go to the documentation of this file.
1 #ifndef _ROS_rosgraph_msgs_TopicStatistics_h
2 #define _ROS_rosgraph_msgs_TopicStatistics_h
3 
4 #include <stdint.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include "ros/msg.h"
8 #include "ros/time.h"
9 #include "ros/duration.h"
10 
11 namespace rosgraph_msgs
12 {
13 
14  class TopicStatistics : public ros::Msg
15  {
16  public:
17  const char* topic;
18  const char* node_pub;
19  const char* node_sub;
22  int32_t delivered_msgs;
23  int32_t dropped_msgs;
24  int32_t traffic;
31 
33  topic(""),
34  node_pub(""),
35  node_sub(""),
36  window_start(),
37  window_stop(),
38  delivered_msgs(0),
39  dropped_msgs(0),
40  traffic(0),
41  period_mean(),
42  period_stddev(),
43  period_max(),
47  {
48  }
49 
50  virtual int serialize(unsigned char *outbuffer) const
51  {
52  int offset = 0;
53  uint32_t length_topic = strlen(this->topic);
54  memcpy(outbuffer + offset, &length_topic, sizeof(uint32_t));
55  offset += 4;
56  memcpy(outbuffer + offset, this->topic, length_topic);
57  offset += length_topic;
58  uint32_t length_node_pub = strlen(this->node_pub);
59  memcpy(outbuffer + offset, &length_node_pub, sizeof(uint32_t));
60  offset += 4;
61  memcpy(outbuffer + offset, this->node_pub, length_node_pub);
62  offset += length_node_pub;
63  uint32_t length_node_sub = strlen(this->node_sub);
64  memcpy(outbuffer + offset, &length_node_sub, sizeof(uint32_t));
65  offset += 4;
66  memcpy(outbuffer + offset, this->node_sub, length_node_sub);
67  offset += length_node_sub;
68  *(outbuffer + offset + 0) = (this->window_start.sec >> (8 * 0)) & 0xFF;
69  *(outbuffer + offset + 1) = (this->window_start.sec >> (8 * 1)) & 0xFF;
70  *(outbuffer + offset + 2) = (this->window_start.sec >> (8 * 2)) & 0xFF;
71  *(outbuffer + offset + 3) = (this->window_start.sec >> (8 * 3)) & 0xFF;
72  offset += sizeof(this->window_start.sec);
73  *(outbuffer + offset + 0) = (this->window_start.nsec >> (8 * 0)) & 0xFF;
74  *(outbuffer + offset + 1) = (this->window_start.nsec >> (8 * 1)) & 0xFF;
75  *(outbuffer + offset + 2) = (this->window_start.nsec >> (8 * 2)) & 0xFF;
76  *(outbuffer + offset + 3) = (this->window_start.nsec >> (8 * 3)) & 0xFF;
77  offset += sizeof(this->window_start.nsec);
78  *(outbuffer + offset + 0) = (this->window_stop.sec >> (8 * 0)) & 0xFF;
79  *(outbuffer + offset + 1) = (this->window_stop.sec >> (8 * 1)) & 0xFF;
80  *(outbuffer + offset + 2) = (this->window_stop.sec >> (8 * 2)) & 0xFF;
81  *(outbuffer + offset + 3) = (this->window_stop.sec >> (8 * 3)) & 0xFF;
82  offset += sizeof(this->window_stop.sec);
83  *(outbuffer + offset + 0) = (this->window_stop.nsec >> (8 * 0)) & 0xFF;
84  *(outbuffer + offset + 1) = (this->window_stop.nsec >> (8 * 1)) & 0xFF;
85  *(outbuffer + offset + 2) = (this->window_stop.nsec >> (8 * 2)) & 0xFF;
86  *(outbuffer + offset + 3) = (this->window_stop.nsec >> (8 * 3)) & 0xFF;
87  offset += sizeof(this->window_stop.nsec);
88  union {
89  int32_t real;
90  uint32_t base;
91  } u_delivered_msgs;
92  u_delivered_msgs.real = this->delivered_msgs;
93  *(outbuffer + offset + 0) = (u_delivered_msgs.base >> (8 * 0)) & 0xFF;
94  *(outbuffer + offset + 1) = (u_delivered_msgs.base >> (8 * 1)) & 0xFF;
95  *(outbuffer + offset + 2) = (u_delivered_msgs.base >> (8 * 2)) & 0xFF;
96  *(outbuffer + offset + 3) = (u_delivered_msgs.base >> (8 * 3)) & 0xFF;
97  offset += sizeof(this->delivered_msgs);
98  union {
99  int32_t real;
100  uint32_t base;
101  } u_dropped_msgs;
102  u_dropped_msgs.real = this->dropped_msgs;
103  *(outbuffer + offset + 0) = (u_dropped_msgs.base >> (8 * 0)) & 0xFF;
104  *(outbuffer + offset + 1) = (u_dropped_msgs.base >> (8 * 1)) & 0xFF;
105  *(outbuffer + offset + 2) = (u_dropped_msgs.base >> (8 * 2)) & 0xFF;
106  *(outbuffer + offset + 3) = (u_dropped_msgs.base >> (8 * 3)) & 0xFF;
107  offset += sizeof(this->dropped_msgs);
108  union {
109  int32_t real;
110  uint32_t base;
111  } u_traffic;
112  u_traffic.real = this->traffic;
113  *(outbuffer + offset + 0) = (u_traffic.base >> (8 * 0)) & 0xFF;
114  *(outbuffer + offset + 1) = (u_traffic.base >> (8 * 1)) & 0xFF;
115  *(outbuffer + offset + 2) = (u_traffic.base >> (8 * 2)) & 0xFF;
116  *(outbuffer + offset + 3) = (u_traffic.base >> (8 * 3)) & 0xFF;
117  offset += sizeof(this->traffic);
118  *(outbuffer + offset + 0) = (this->period_mean.sec >> (8 * 0)) & 0xFF;
119  *(outbuffer + offset + 1) = (this->period_mean.sec >> (8 * 1)) & 0xFF;
120  *(outbuffer + offset + 2) = (this->period_mean.sec >> (8 * 2)) & 0xFF;
121  *(outbuffer + offset + 3) = (this->period_mean.sec >> (8 * 3)) & 0xFF;
122  offset += sizeof(this->period_mean.sec);
123  *(outbuffer + offset + 0) = (this->period_mean.nsec >> (8 * 0)) & 0xFF;
124  *(outbuffer + offset + 1) = (this->period_mean.nsec >> (8 * 1)) & 0xFF;
125  *(outbuffer + offset + 2) = (this->period_mean.nsec >> (8 * 2)) & 0xFF;
126  *(outbuffer + offset + 3) = (this->period_mean.nsec >> (8 * 3)) & 0xFF;
127  offset += sizeof(this->period_mean.nsec);
128  *(outbuffer + offset + 0) = (this->period_stddev.sec >> (8 * 0)) & 0xFF;
129  *(outbuffer + offset + 1) = (this->period_stddev.sec >> (8 * 1)) & 0xFF;
130  *(outbuffer + offset + 2) = (this->period_stddev.sec >> (8 * 2)) & 0xFF;
131  *(outbuffer + offset + 3) = (this->period_stddev.sec >> (8 * 3)) & 0xFF;
132  offset += sizeof(this->period_stddev.sec);
133  *(outbuffer + offset + 0) = (this->period_stddev.nsec >> (8 * 0)) & 0xFF;
134  *(outbuffer + offset + 1) = (this->period_stddev.nsec >> (8 * 1)) & 0xFF;
135  *(outbuffer + offset + 2) = (this->period_stddev.nsec >> (8 * 2)) & 0xFF;
136  *(outbuffer + offset + 3) = (this->period_stddev.nsec >> (8 * 3)) & 0xFF;
137  offset += sizeof(this->period_stddev.nsec);
138  *(outbuffer + offset + 0) = (this->period_max.sec >> (8 * 0)) & 0xFF;
139  *(outbuffer + offset + 1) = (this->period_max.sec >> (8 * 1)) & 0xFF;
140  *(outbuffer + offset + 2) = (this->period_max.sec >> (8 * 2)) & 0xFF;
141  *(outbuffer + offset + 3) = (this->period_max.sec >> (8 * 3)) & 0xFF;
142  offset += sizeof(this->period_max.sec);
143  *(outbuffer + offset + 0) = (this->period_max.nsec >> (8 * 0)) & 0xFF;
144  *(outbuffer + offset + 1) = (this->period_max.nsec >> (8 * 1)) & 0xFF;
145  *(outbuffer + offset + 2) = (this->period_max.nsec >> (8 * 2)) & 0xFF;
146  *(outbuffer + offset + 3) = (this->period_max.nsec >> (8 * 3)) & 0xFF;
147  offset += sizeof(this->period_max.nsec);
148  *(outbuffer + offset + 0) = (this->stamp_age_mean.sec >> (8 * 0)) & 0xFF;
149  *(outbuffer + offset + 1) = (this->stamp_age_mean.sec >> (8 * 1)) & 0xFF;
150  *(outbuffer + offset + 2) = (this->stamp_age_mean.sec >> (8 * 2)) & 0xFF;
151  *(outbuffer + offset + 3) = (this->stamp_age_mean.sec >> (8 * 3)) & 0xFF;
152  offset += sizeof(this->stamp_age_mean.sec);
153  *(outbuffer + offset + 0) = (this->stamp_age_mean.nsec >> (8 * 0)) & 0xFF;
154  *(outbuffer + offset + 1) = (this->stamp_age_mean.nsec >> (8 * 1)) & 0xFF;
155  *(outbuffer + offset + 2) = (this->stamp_age_mean.nsec >> (8 * 2)) & 0xFF;
156  *(outbuffer + offset + 3) = (this->stamp_age_mean.nsec >> (8 * 3)) & 0xFF;
157  offset += sizeof(this->stamp_age_mean.nsec);
158  *(outbuffer + offset + 0) = (this->stamp_age_stddev.sec >> (8 * 0)) & 0xFF;
159  *(outbuffer + offset + 1) = (this->stamp_age_stddev.sec >> (8 * 1)) & 0xFF;
160  *(outbuffer + offset + 2) = (this->stamp_age_stddev.sec >> (8 * 2)) & 0xFF;
161  *(outbuffer + offset + 3) = (this->stamp_age_stddev.sec >> (8 * 3)) & 0xFF;
162  offset += sizeof(this->stamp_age_stddev.sec);
163  *(outbuffer + offset + 0) = (this->stamp_age_stddev.nsec >> (8 * 0)) & 0xFF;
164  *(outbuffer + offset + 1) = (this->stamp_age_stddev.nsec >> (8 * 1)) & 0xFF;
165  *(outbuffer + offset + 2) = (this->stamp_age_stddev.nsec >> (8 * 2)) & 0xFF;
166  *(outbuffer + offset + 3) = (this->stamp_age_stddev.nsec >> (8 * 3)) & 0xFF;
167  offset += sizeof(this->stamp_age_stddev.nsec);
168  *(outbuffer + offset + 0) = (this->stamp_age_max.sec >> (8 * 0)) & 0xFF;
169  *(outbuffer + offset + 1) = (this->stamp_age_max.sec >> (8 * 1)) & 0xFF;
170  *(outbuffer + offset + 2) = (this->stamp_age_max.sec >> (8 * 2)) & 0xFF;
171  *(outbuffer + offset + 3) = (this->stamp_age_max.sec >> (8 * 3)) & 0xFF;
172  offset += sizeof(this->stamp_age_max.sec);
173  *(outbuffer + offset + 0) = (this->stamp_age_max.nsec >> (8 * 0)) & 0xFF;
174  *(outbuffer + offset + 1) = (this->stamp_age_max.nsec >> (8 * 1)) & 0xFF;
175  *(outbuffer + offset + 2) = (this->stamp_age_max.nsec >> (8 * 2)) & 0xFF;
176  *(outbuffer + offset + 3) = (this->stamp_age_max.nsec >> (8 * 3)) & 0xFF;
177  offset += sizeof(this->stamp_age_max.nsec);
178  return offset;
179  }
180 
181  virtual int deserialize(unsigned char *inbuffer)
182  {
183  int offset = 0;
184  uint32_t length_topic;
185  memcpy(&length_topic, (inbuffer + offset), sizeof(uint32_t));
186  offset += 4;
187  for(unsigned int k= offset; k< offset+length_topic; ++k){
188  inbuffer[k-1]=inbuffer[k];
189  }
190  inbuffer[offset+length_topic-1]=0;
191  this->topic = (char *)(inbuffer + offset-1);
192  offset += length_topic;
193  uint32_t length_node_pub;
194  memcpy(&length_node_pub, (inbuffer + offset), sizeof(uint32_t));
195  offset += 4;
196  for(unsigned int k= offset; k< offset+length_node_pub; ++k){
197  inbuffer[k-1]=inbuffer[k];
198  }
199  inbuffer[offset+length_node_pub-1]=0;
200  this->node_pub = (char *)(inbuffer + offset-1);
201  offset += length_node_pub;
202  uint32_t length_node_sub;
203  memcpy(&length_node_sub, (inbuffer + offset), sizeof(uint32_t));
204  offset += 4;
205  for(unsigned int k= offset; k< offset+length_node_sub; ++k){
206  inbuffer[k-1]=inbuffer[k];
207  }
208  inbuffer[offset+length_node_sub-1]=0;
209  this->node_sub = (char *)(inbuffer + offset-1);
210  offset += length_node_sub;
211  this->window_start.sec = ((uint32_t) (*(inbuffer + offset)));
212  this->window_start.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
213  this->window_start.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
214  this->window_start.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
215  offset += sizeof(this->window_start.sec);
216  this->window_start.nsec = ((uint32_t) (*(inbuffer + offset)));
217  this->window_start.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
218  this->window_start.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
219  this->window_start.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
220  offset += sizeof(this->window_start.nsec);
221  this->window_stop.sec = ((uint32_t) (*(inbuffer + offset)));
222  this->window_stop.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
223  this->window_stop.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
224  this->window_stop.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
225  offset += sizeof(this->window_stop.sec);
226  this->window_stop.nsec = ((uint32_t) (*(inbuffer + offset)));
227  this->window_stop.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
228  this->window_stop.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
229  this->window_stop.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
230  offset += sizeof(this->window_stop.nsec);
231  union {
232  int32_t real;
233  uint32_t base;
234  } u_delivered_msgs;
235  u_delivered_msgs.base = 0;
236  u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
237  u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
238  u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
239  u_delivered_msgs.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
240  this->delivered_msgs = u_delivered_msgs.real;
241  offset += sizeof(this->delivered_msgs);
242  union {
243  int32_t real;
244  uint32_t base;
245  } u_dropped_msgs;
246  u_dropped_msgs.base = 0;
247  u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
248  u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
249  u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
250  u_dropped_msgs.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
251  this->dropped_msgs = u_dropped_msgs.real;
252  offset += sizeof(this->dropped_msgs);
253  union {
254  int32_t real;
255  uint32_t base;
256  } u_traffic;
257  u_traffic.base = 0;
258  u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
259  u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
260  u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
261  u_traffic.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
262  this->traffic = u_traffic.real;
263  offset += sizeof(this->traffic);
264  this->period_mean.sec = ((uint32_t) (*(inbuffer + offset)));
265  this->period_mean.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
266  this->period_mean.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
267  this->period_mean.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
268  offset += sizeof(this->period_mean.sec);
269  this->period_mean.nsec = ((uint32_t) (*(inbuffer + offset)));
270  this->period_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
271  this->period_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
272  this->period_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
273  offset += sizeof(this->period_mean.nsec);
274  this->period_stddev.sec = ((uint32_t) (*(inbuffer + offset)));
275  this->period_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
276  this->period_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
277  this->period_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
278  offset += sizeof(this->period_stddev.sec);
279  this->period_stddev.nsec = ((uint32_t) (*(inbuffer + offset)));
280  this->period_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
281  this->period_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
282  this->period_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
283  offset += sizeof(this->period_stddev.nsec);
284  this->period_max.sec = ((uint32_t) (*(inbuffer + offset)));
285  this->period_max.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
286  this->period_max.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
287  this->period_max.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
288  offset += sizeof(this->period_max.sec);
289  this->period_max.nsec = ((uint32_t) (*(inbuffer + offset)));
290  this->period_max.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
291  this->period_max.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
292  this->period_max.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
293  offset += sizeof(this->period_max.nsec);
294  this->stamp_age_mean.sec = ((uint32_t) (*(inbuffer + offset)));
295  this->stamp_age_mean.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
296  this->stamp_age_mean.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
297  this->stamp_age_mean.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
298  offset += sizeof(this->stamp_age_mean.sec);
299  this->stamp_age_mean.nsec = ((uint32_t) (*(inbuffer + offset)));
300  this->stamp_age_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
301  this->stamp_age_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
302  this->stamp_age_mean.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
303  offset += sizeof(this->stamp_age_mean.nsec);
304  this->stamp_age_stddev.sec = ((uint32_t) (*(inbuffer + offset)));
305  this->stamp_age_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
306  this->stamp_age_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
307  this->stamp_age_stddev.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
308  offset += sizeof(this->stamp_age_stddev.sec);
309  this->stamp_age_stddev.nsec = ((uint32_t) (*(inbuffer + offset)));
310  this->stamp_age_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
311  this->stamp_age_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
312  this->stamp_age_stddev.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
313  offset += sizeof(this->stamp_age_stddev.nsec);
314  this->stamp_age_max.sec = ((uint32_t) (*(inbuffer + offset)));
315  this->stamp_age_max.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
316  this->stamp_age_max.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
317  this->stamp_age_max.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
318  offset += sizeof(this->stamp_age_max.sec);
319  this->stamp_age_max.nsec = ((uint32_t) (*(inbuffer + offset)));
320  this->stamp_age_max.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
321  this->stamp_age_max.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
322  this->stamp_age_max.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
323  offset += sizeof(this->stamp_age_max.nsec);
324  return offset;
325  }
326 
327  const char * getType(){ return "rosgraph_msgs/TopicStatistics"; };
328  const char * getMD5(){ return "10152ed868c5097a5e2e4a89d7daa710"; };
329 
330  };
331 
332 }
333 #endif
uint32_t nsec
Definition: time.h:50
uint32_t sec
Definition: time.h:50
Definition: time.h:47
const char * node_pub
Definition: TopicStatistics.h:18
virtual int serialize(unsigned char *outbuffer) const
Definition: TopicStatistics.h:50
int32_t sec
Definition: duration.h:48
ros::Duration stamp_age_max
Definition: TopicStatistics.h:30
ros::Duration period_stddev
Definition: TopicStatistics.h:26
const char * getMD5()
Definition: TopicStatistics.h:328
TopicStatistics()
Definition: TopicStatistics.h:32
Definition: TopicStatistics.h:14
ros::Duration period_max
Definition: TopicStatistics.h:27
int32_t dropped_msgs
Definition: TopicStatistics.h:23
ros::Time window_start
Definition: TopicStatistics.h:20
const char * node_sub
Definition: TopicStatistics.h:19
ros::Duration stamp_age_mean
Definition: TopicStatistics.h:28
const char * topic
Definition: TopicStatistics.h:17
Definition: duration.h:45
const char * getType()
Definition: TopicStatistics.h:327
int32_t nsec
Definition: duration.h:48
ros::Duration period_mean
Definition: TopicStatistics.h:25
int32_t traffic
Definition: TopicStatistics.h:24
Definition: msg.h:43
ros::Duration stamp_age_stddev
Definition: TopicStatistics.h:29
virtual int deserialize(unsigned char *inbuffer)
Definition: TopicStatistics.h:181
ros::Time window_stop
Definition: TopicStatistics.h:21
int32_t delivered_msgs
Definition: TopicStatistics.h:22