$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_mechanism/doc_stacks/2013-03-01_16-59-32.624252/pr2_mechanism/pr2_mechanism_msgs/msg/ControllerStatistics.msg */ 00002 #ifndef PR2_MECHANISM_MSGS_MESSAGE_CONTROLLERSTATISTICS_H 00003 #define PR2_MECHANISM_MSGS_MESSAGE_CONTROLLERSTATISTICS_H 00004 #include <string> 00005 #include <vector> 00006 #include <map> 00007 #include <ostream> 00008 #include "ros/serialization.h" 00009 #include "ros/builtin_message_traits.h" 00010 #include "ros/message_operations.h" 00011 #include "ros/time.h" 00012 00013 #include "ros/macros.h" 00014 00015 #include "ros/assert.h" 00016 00017 00018 namespace pr2_mechanism_msgs 00019 { 00020 template <class ContainerAllocator> 00021 struct ControllerStatistics_ { 00022 typedef ControllerStatistics_<ContainerAllocator> Type; 00023 00024 ControllerStatistics_() 00025 : name() 00026 , timestamp() 00027 , running(false) 00028 , max_time() 00029 , mean_time() 00030 , variance_time() 00031 , num_control_loop_overruns(0) 00032 , time_last_control_loop_overrun() 00033 { 00034 } 00035 00036 ControllerStatistics_(const ContainerAllocator& _alloc) 00037 : name(_alloc) 00038 , timestamp() 00039 , running(false) 00040 , max_time() 00041 , mean_time() 00042 , variance_time() 00043 , num_control_loop_overruns(0) 00044 , time_last_control_loop_overrun() 00045 { 00046 } 00047 00048 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type; 00049 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > name; 00050 00051 typedef ros::Time _timestamp_type; 00052 ros::Time timestamp; 00053 00054 typedef uint8_t _running_type; 00055 uint8_t running; 00056 00057 typedef ros::Duration _max_time_type; 00058 ros::Duration max_time; 00059 00060 typedef ros::Duration _mean_time_type; 00061 ros::Duration mean_time; 00062 00063 typedef ros::Duration _variance_time_type; 00064 ros::Duration variance_time; 00065 00066 typedef int32_t _num_control_loop_overruns_type; 00067 int32_t num_control_loop_overruns; 00068 00069 typedef ros::Time _time_last_control_loop_overrun_type; 00070 ros::Time time_last_control_loop_overrun; 00071 00072 00073 private: 00074 static const char* __s_getDataType_() { return "pr2_mechanism_msgs/ControllerStatistics"; } 00075 public: 00076 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00077 00078 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00079 00080 private: 00081 static const char* __s_getMD5Sum_() { return "6d15d137eea402018e3c7c8dbecd4b95"; } 00082 public: 00083 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00084 00085 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00086 00087 private: 00088 static const char* __s_getMessageDefinition_() { return "# This message contains the state of one realtime controller\n\ 00089 # that was spawned in pr2_mechanism_control\n\ 00090 \n\ 00091 # the name of the controller\n\ 00092 string name\n\ 00093 \n\ 00094 # the time at which these controller statistics were measured\n\ 00095 time timestamp\n\ 00096 \n\ 00097 # bool that indicates if the controller is currently\n\ 00098 # in a running or a stopped state\n\ 00099 bool running\n\ 00100 \n\ 00101 # the maximum time the update loop of the controller ever needed to complete\n\ 00102 duration max_time\n\ 00103 \n\ 00104 # the average time the update loop of the controller needs to complete. \n\ 00105 # the average is computed in a sliding time window.\n\ 00106 duration mean_time\n\ 00107 \n\ 00108 # the variance on the time the update loop of the controller needs to complete.\n\ 00109 # the variance applies to a sliding time window.\n\ 00110 duration variance_time\n\ 00111 \n\ 00112 # the number of times this controller broke the realtime loop\n\ 00113 int32 num_control_loop_overruns\n\ 00114 \n\ 00115 # the timestamp of the last time this controller broke the realtime loop\n\ 00116 time time_last_control_loop_overrun\n\ 00117 "; } 00118 public: 00119 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00120 00121 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00122 00123 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00124 { 00125 ros::serialization::OStream stream(write_ptr, 1000000000); 00126 ros::serialization::serialize(stream, name); 00127 ros::serialization::serialize(stream, timestamp); 00128 ros::serialization::serialize(stream, running); 00129 ros::serialization::serialize(stream, max_time); 00130 ros::serialization::serialize(stream, mean_time); 00131 ros::serialization::serialize(stream, variance_time); 00132 ros::serialization::serialize(stream, num_control_loop_overruns); 00133 ros::serialization::serialize(stream, time_last_control_loop_overrun); 00134 return stream.getData(); 00135 } 00136 00137 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00138 { 00139 ros::serialization::IStream stream(read_ptr, 1000000000); 00140 ros::serialization::deserialize(stream, name); 00141 ros::serialization::deserialize(stream, timestamp); 00142 ros::serialization::deserialize(stream, running); 00143 ros::serialization::deserialize(stream, max_time); 00144 ros::serialization::deserialize(stream, mean_time); 00145 ros::serialization::deserialize(stream, variance_time); 00146 ros::serialization::deserialize(stream, num_control_loop_overruns); 00147 ros::serialization::deserialize(stream, time_last_control_loop_overrun); 00148 return stream.getData(); 00149 } 00150 00151 ROS_DEPRECATED virtual uint32_t serializationLength() const 00152 { 00153 uint32_t size = 0; 00154 size += ros::serialization::serializationLength(name); 00155 size += ros::serialization::serializationLength(timestamp); 00156 size += ros::serialization::serializationLength(running); 00157 size += ros::serialization::serializationLength(max_time); 00158 size += ros::serialization::serializationLength(mean_time); 00159 size += ros::serialization::serializationLength(variance_time); 00160 size += ros::serialization::serializationLength(num_control_loop_overruns); 00161 size += ros::serialization::serializationLength(time_last_control_loop_overrun); 00162 return size; 00163 } 00164 00165 typedef boost::shared_ptr< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > Ptr; 00166 typedef boost::shared_ptr< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> const> ConstPtr; 00167 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00168 }; // struct ControllerStatistics 00169 typedef ::pr2_mechanism_msgs::ControllerStatistics_<std::allocator<void> > ControllerStatistics; 00170 00171 typedef boost::shared_ptr< ::pr2_mechanism_msgs::ControllerStatistics> ControllerStatisticsPtr; 00172 typedef boost::shared_ptr< ::pr2_mechanism_msgs::ControllerStatistics const> ControllerStatisticsConstPtr; 00173 00174 00175 template<typename ContainerAllocator> 00176 std::ostream& operator<<(std::ostream& s, const ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> & v) 00177 { 00178 ros::message_operations::Printer< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> >::stream(s, "", v); 00179 return s;} 00180 00181 } // namespace pr2_mechanism_msgs 00182 00183 namespace ros 00184 { 00185 namespace message_traits 00186 { 00187 template<class ContainerAllocator> struct IsMessage< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > : public TrueType {}; 00188 template<class ContainerAllocator> struct IsMessage< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> const> : public TrueType {}; 00189 template<class ContainerAllocator> 00190 struct MD5Sum< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > { 00191 static const char* value() 00192 { 00193 return "6d15d137eea402018e3c7c8dbecd4b95"; 00194 } 00195 00196 static const char* value(const ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> &) { return value(); } 00197 static const uint64_t static_value1 = 0x6d15d137eea40201ULL; 00198 static const uint64_t static_value2 = 0x8e3c7c8dbecd4b95ULL; 00199 }; 00200 00201 template<class ContainerAllocator> 00202 struct DataType< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > { 00203 static const char* value() 00204 { 00205 return "pr2_mechanism_msgs/ControllerStatistics"; 00206 } 00207 00208 static const char* value(const ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> &) { return value(); } 00209 }; 00210 00211 template<class ContainerAllocator> 00212 struct Definition< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > { 00213 static const char* value() 00214 { 00215 return "# This message contains the state of one realtime controller\n\ 00216 # that was spawned in pr2_mechanism_control\n\ 00217 \n\ 00218 # the name of the controller\n\ 00219 string name\n\ 00220 \n\ 00221 # the time at which these controller statistics were measured\n\ 00222 time timestamp\n\ 00223 \n\ 00224 # bool that indicates if the controller is currently\n\ 00225 # in a running or a stopped state\n\ 00226 bool running\n\ 00227 \n\ 00228 # the maximum time the update loop of the controller ever needed to complete\n\ 00229 duration max_time\n\ 00230 \n\ 00231 # the average time the update loop of the controller needs to complete. \n\ 00232 # the average is computed in a sliding time window.\n\ 00233 duration mean_time\n\ 00234 \n\ 00235 # the variance on the time the update loop of the controller needs to complete.\n\ 00236 # the variance applies to a sliding time window.\n\ 00237 duration variance_time\n\ 00238 \n\ 00239 # the number of times this controller broke the realtime loop\n\ 00240 int32 num_control_loop_overruns\n\ 00241 \n\ 00242 # the timestamp of the last time this controller broke the realtime loop\n\ 00243 time time_last_control_loop_overrun\n\ 00244 "; 00245 } 00246 00247 static const char* value(const ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> &) { return value(); } 00248 }; 00249 00250 } // namespace message_traits 00251 } // namespace ros 00252 00253 namespace ros 00254 { 00255 namespace serialization 00256 { 00257 00258 template<class ContainerAllocator> struct Serializer< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > 00259 { 00260 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00261 { 00262 stream.next(m.name); 00263 stream.next(m.timestamp); 00264 stream.next(m.running); 00265 stream.next(m.max_time); 00266 stream.next(m.mean_time); 00267 stream.next(m.variance_time); 00268 stream.next(m.num_control_loop_overruns); 00269 stream.next(m.time_last_control_loop_overrun); 00270 } 00271 00272 ROS_DECLARE_ALLINONE_SERIALIZER; 00273 }; // struct ControllerStatistics_ 00274 } // namespace serialization 00275 } // namespace ros 00276 00277 namespace ros 00278 { 00279 namespace message_operations 00280 { 00281 00282 template<class ContainerAllocator> 00283 struct Printer< ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> > 00284 { 00285 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pr2_mechanism_msgs::ControllerStatistics_<ContainerAllocator> & v) 00286 { 00287 s << indent << "name: "; 00288 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name); 00289 s << indent << "timestamp: "; 00290 Printer<ros::Time>::stream(s, indent + " ", v.timestamp); 00291 s << indent << "running: "; 00292 Printer<uint8_t>::stream(s, indent + " ", v.running); 00293 s << indent << "max_time: "; 00294 Printer<ros::Duration>::stream(s, indent + " ", v.max_time); 00295 s << indent << "mean_time: "; 00296 Printer<ros::Duration>::stream(s, indent + " ", v.mean_time); 00297 s << indent << "variance_time: "; 00298 Printer<ros::Duration>::stream(s, indent + " ", v.variance_time); 00299 s << indent << "num_control_loop_overruns: "; 00300 Printer<int32_t>::stream(s, indent + " ", v.num_control_loop_overruns); 00301 s << indent << "time_last_control_loop_overrun: "; 00302 Printer<ros::Time>::stream(s, indent + " ", v.time_last_control_loop_overrun); 00303 } 00304 }; 00305 00306 00307 } // namespace message_operations 00308 } // namespace ros 00309 00310 #endif // PR2_MECHANISM_MSGS_MESSAGE_CONTROLLERSTATISTICS_H 00311