Skip to content

Commit

Permalink
Use unique_indentifier_msgs
Browse files Browse the repository at this point in the history
  • Loading branch information
sloretz committed Dec 4, 2018
1 parent 068eee0 commit 7583828
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
16 changes: 8 additions & 8 deletions rclcpp_action/src/server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ ServerBase::execute_goal_request_received()
pimpl_->goal_request_ready_ = false;
std::array<uint8_t, 16> uuid = get_goal_id_from_goal_request(message.get());
for (size_t i = 0; i < 16; ++i) {
goal_info.uuid[i] = uuid[i];
goal_info.goal_id.uuid[i] = uuid[i];
}

// Call user's callback, getting the user's response and a ros message to send back
Expand Down Expand Up @@ -275,7 +275,7 @@ ServerBase::execute_cancel_request_received()
// Convert c++ message to C message
rcl_action_cancel_request_t cancel_request = rcl_action_get_zero_initialized_cancel_request();
for (size_t i = 0; i < 16; ++i) {
cancel_request.goal_info.uuid[i] = request->goal_info.uuid[i];
cancel_request.goal_info.goal_id.uuid[i] = request->goal_info.goal_id.uuid[i];
}
cancel_request.goal_info.stamp.sec = request->goal_info.stamp.sec;
cancel_request.goal_info.stamp.nanosec = request->goal_info.stamp.nanosec;
Expand All @@ -295,7 +295,7 @@ ServerBase::execute_cancel_request_received()
const rcl_action_goal_info_t & goal_info = goals.data[i];
std::array<uint8_t, 16> uuid;
for (size_t i = 0; i < 16; ++i) {
uuid[i] = goal_info.uuid[i];
uuid[i] = goal_info.goal_id.uuid[i];
}
auto response_pair = call_handle_cancel_callback(uuid);
if (CancelResponse::ACCEPT == response_pair.first) {
Expand All @@ -306,7 +306,7 @@ ServerBase::execute_cancel_request_received()
rclcpp::exceptions::throw_from_rcl_error(ret);
} else {
action_msgs::msg::GoalInfo cpp_info;
cpp_info.uuid = uuid;
cpp_info.goal_id.uuid = uuid;
cpp_info.stamp.sec = goal_info.stamp.sec;
cpp_info.stamp.nanosec = goal_info.stamp.nanosec;
response->goals_canceling.push_back(cpp_info);
Expand Down Expand Up @@ -351,7 +351,7 @@ ServerBase::execute_result_request_received()
std::array<uint8_t, 16> uuid = get_goal_id_from_result_request(result_request.get());
rcl_action_goal_info_t goal_info;
for (size_t i = 0; i < 16; ++i) {
goal_info.uuid[i] = uuid[i];
goal_info.goal_id.uuid[i] = uuid[i];
}
if (!rcl_action_server_goal_exists(pimpl_->action_server_.get(), &goal_info)) {
// Goal does not exists
Expand Down Expand Up @@ -399,7 +399,7 @@ ServerBase::execute_check_expired_goals()
// A goal expired!
std::array<uint8_t, 16> uuid;
for (size_t i = 0; i < 16; ++i) {
uuid[i] = expired_goals[0].uuid[i];
uuid[i] = expired_goals[0].goal_id.uuid[i];
}
pimpl_->goal_results_.erase(uuid);
pimpl_->result_requests_.erase(uuid);
Expand Down Expand Up @@ -442,7 +442,7 @@ ServerBase::publish_status()
msg.status = goal_state;
// Convert C goal info to C++ goal info
for (size_t i = 0; i < 16; ++i) {
msg.goal_info.uuid[i] = goal_info.uuid[i];
msg.goal_info.goal_id.uuid[i] = goal_info.goal_id.uuid[i];
}
msg.goal_info.stamp.sec = goal_info.stamp.sec;
msg.goal_info.stamp.nanosec = goal_info.stamp.nanosec;
Expand All @@ -463,7 +463,7 @@ ServerBase::publish_result(const std::array<uint8_t, 16> & uuid, std::shared_ptr
// Check that the goal exists
rcl_action_goal_info_t goal_info;
for (size_t i = 0; i < 16; ++i) {
goal_info.uuid[i] = uuid[i];
goal_info.goal_id.uuid[i] = uuid[i];
}
if (!rcl_action_server_goal_exists(pimpl_->action_server_.get(), &goal_info)) {
throw std::runtime_error("Asked to publish result for goal that does not exist");
Expand Down
12 changes: 6 additions & 6 deletions rclcpp_action/test/test_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class TestServer : public ::testing::Test
throw std::runtime_error("cancel goal service didn't become available");
}
auto request = std::make_shared<test_msgs::action::Fibonacci::CancelGoalService::Request>();
request->goal_info.uuid = uuid;
request->goal_info.goal_id.uuid = uuid;
auto future = cancel_client->async_send_request(request);
if (rclcpp::executor::FutureReturnCode::SUCCESS !=
rclcpp::spin_until_future_complete(node, future))
Expand Down Expand Up @@ -256,7 +256,7 @@ TEST_F(TestServer, publish_status_accepted)
// Not sure whether accepted will come through because not sure when subscriber will match
for (auto & msg : received_msgs) {
ASSERT_EQ(1u, msg->status_list.size());
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid);
auto status = msg->status_list.at(0).status;
if (action_msgs::msg::GoalStatus::STATUS_ACCEPTED == status) {
EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_ACCEPTED, status);
Expand Down Expand Up @@ -318,7 +318,7 @@ TEST_F(TestServer, publish_status_canceling)
auto & msg = received_msgs.back();
ASSERT_EQ(1u, msg->status_list.size());
EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_CANCELING, msg->status_list.at(0).status);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid);
}

TEST_F(TestServer, publish_status_canceled)
Expand Down Expand Up @@ -375,7 +375,7 @@ TEST_F(TestServer, publish_status_canceled)
auto & msg = received_msgs.back();
ASSERT_EQ(1u, msg->status_list.size());
EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_CANCELED, msg->status_list.at(0).status);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid);
}

TEST_F(TestServer, publish_status_succeeded)
Expand Down Expand Up @@ -430,7 +430,7 @@ TEST_F(TestServer, publish_status_succeeded)
auto & msg = received_msgs.back();
ASSERT_EQ(1u, msg->status_list.size());
EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_SUCCEEDED, msg->status_list.at(0).status);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid);
}

TEST_F(TestServer, publish_status_aborted)
Expand Down Expand Up @@ -485,7 +485,7 @@ TEST_F(TestServer, publish_status_aborted)
auto & msg = received_msgs.back();
ASSERT_EQ(1u, msg->status_list.size());
EXPECT_EQ(action_msgs::msg::GoalStatus::STATUS_ABORTED, msg->status_list.at(0).status);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.uuid);
EXPECT_EQ(uuid, msg->status_list.at(0).goal_info.goal_id.uuid);
}

TEST_F(TestServer, publish_feedback)
Expand Down

0 comments on commit 7583828

Please sign in to comment.