Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit aa86d78

Browse files
author
Davide Faconti
committed
fix warning and follow coding standard
1 parent bef80cd commit aa86d78

File tree

2 files changed

+26
-34
lines changed

2 files changed

+26
-34
lines changed

include/behaviortree_cpp_v3/decorators/delay_node.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ class DelayNode : public DecoratorNode
4949

5050
virtual BT::NodeStatus tick() override;
5151

52-
bool delay_aborted;
53-
bool delay_complete;
52+
bool delay_started_;
53+
bool delay_complete_;
54+
bool delay_aborted_;
5455
unsigned msec_;
5556
bool read_parameter_from_ports_;
56-
bool delay_started_;
57-
std::mutex delay_mutex;
57+
std::mutex delay_mutex_;
5858
};
5959

6060
} // namespace BT

src/decorators/delay_node.cpp

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ namespace BT
77
{
88
DelayNode::DelayNode(const std::string& name, unsigned milliseconds)
99
: DecoratorNode(name, {})
10+
, delay_started_(false)
11+
, delay_aborted_(false)
1012
, msec_(milliseconds)
1113
, read_parameter_from_ports_(false)
12-
, delay_started_(false)
13-
, delay_aborted(false)
1414
{
1515
setRegistrationID("Delay");
1616
}
1717

1818
DelayNode::DelayNode(const std::string& name, const NodeConfiguration& config)
1919
: DecoratorNode(name, config)
20+
, delay_started_(false)
21+
, delay_aborted_(false)
2022
, msec_(0)
2123
, read_parameter_from_ports_(true)
22-
, delay_started_(false)
23-
, delay_aborted(false)
2424
{
2525
}
2626

@@ -36,45 +36,37 @@ NodeStatus DelayNode::tick()
3636

3737
if (!delay_started_)
3838
{
39-
delay_complete = false;
39+
delay_complete_ = false;
4040
delay_started_ = true;
4141
setStatus(NodeStatus::RUNNING);
42-
if (msec_ >= 0)
42+
43+
timer_id_ = timer_.add(std::chrono::milliseconds(msec_),
44+
[this](bool aborted)
4345
{
44-
timer_id_ = timer_.add(std::chrono::milliseconds(msec_),
45-
[this](bool aborted)
46+
std::unique_lock<std::mutex> lk(delay_mutex_);
47+
if (!aborted)
4648
{
47-
std::unique_lock<std::mutex> lk(delay_mutex);
48-
if (!aborted)
49-
{
50-
delay_complete = true;
51-
}
52-
else
53-
{
54-
delay_aborted = true;
55-
}
56-
});
57-
}
58-
else
59-
{
60-
throw RuntimeError("Parameter [delay_msec] in DelayNode cannot be negative (Time once lost is lost forever)! ");
61-
}
62-
49+
delay_complete_ = true;
50+
}
51+
else
52+
{
53+
delay_aborted_ = true;
54+
}
55+
});
6356
}
6457

65-
std::unique_lock<std::mutex> lk(delay_mutex);
58+
std::unique_lock<std::mutex> lk(delay_mutex_);
6659

67-
if (delay_aborted)
60+
if (delay_aborted_)
6861
{
69-
delay_aborted = false;
62+
delay_aborted_ = false;
7063
delay_started_ = false;
7164
return NodeStatus::FAILURE;
7265
}
73-
74-
else if (delay_complete)
66+
else if (delay_complete_)
7567
{
7668
delay_started_ = false;
77-
delay_aborted = false;
69+
delay_aborted_ = false;
7870
auto child_status = child()->executeTick();
7971
return child_status;
8072
}

0 commit comments

Comments
 (0)