本文整理汇总了C++中udp::socket::is_open方法的典型用法代码示例。如果您正苦于以下问题:C++ socket::is_open方法的具体用法?C++ socket::is_open怎么用?C++ socket::is_open使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类udp::socket
的用法示例。
在下文中一共展示了socket::is_open方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleRead
void handleRead(const boost::system::error_code& ec, std::size_t ln)
{
ros::Time cur_time = ros::Time::now();
error_ = ec;
if (!socket_.is_open())
return;
if (!ec)
{
std::string msg(data_);
std::istringstream ss;
// ss.unsetf(std::ios::floatfield);
// // set %7.7f
// ss.precision(7);
// ss.width(7);
if (!msg.empty())
{
boost::mutex::scoped_lock lock(mutex_);
double velocity, heading, lat_acc, lon_acc, yaw_rate;
// Emergency: 1 - ok, 0 - fault
bool emergency_state;
ss.str(msg);
ss >> heading >> velocity >> lat_acc >> lon_acc >> yaw_rate >> emergency_state;
kin_->updateState(cur_time, velocity, heading, lat_acc, lon_acc, yaw_rate, emergency_state);
nav_msgs::Odometry msg;
VehicleKinematics::stateStampedMsgToOdometryMsg(kin_->getState(), msg);
// ROS_INFO_STREAM(kin_.getState());
// msg.header.stamp = cur_time;
// msg.header.frame_id = "base_link";
// msg.child_frame_id = "odom";
// Resolve frame names
msg.header.frame_id = tf::resolve(tf_prefix_, msg.header.frame_id);
msg.child_frame_id = tf::resolve(tf_prefix_, msg.child_frame_id);
odom_tf_.header = msg.header;
odom_tf_.child_frame_id = msg.child_frame_id;
odom_tf_.transform.translation.x = msg.pose.pose.position.x;
odom_tf_.transform.translation.y = msg.pose.pose.position.y;
odom_tf_.transform.translation.z = msg.pose.pose.position.z;
odom_tf_.transform.rotation = msg.pose.pose.orientation;
odom_msg_ = msg;
}