Class Writer¶
Defined in File Writer.hpp
Inheritance Relationships¶
Base Type¶
public std::enable_shared_from_this< Writer >
Class Documentation¶
-
class
rmf_traffic_ros2::schedule
::
Writer
: public std::enable_shared_from_this<Writer>¶ The Writer class provides an API that allows a Node to create schedule Participants.
Public Functions
-
bool
ready
() const¶ Returns true if all the services needed by this writer are ready.
-
void
wait_for_service
() const¶ Wait for the necessary services to be available.
-
bool
wait_for_service
(rmf_traffic::Time stop) const¶ Wait for the necessary services to be available, or for the time point to be reached, whichever happens first.
- Return
true if the necessary services are now available, false otherwise.
- Parameters
[in] stop
: The maximum time point that this will wait until
-
std::future<rmf_traffic::schedule::Participant>
make_participant
(rmf_traffic::schedule::ParticipantDescription description)¶ Begin creation of a schedule participant.
The node of this Writer needs to be spun in order for the Participant to finish being created.
- Parameters
[in] description.
: The description of the participant.
-
void
async_make_participant
(rmf_traffic::schedule::ParticipantDescription description, std::function<void(rmf_traffic::schedule::Participant)> ready_callback)¶ Asynchronously create a schedule participant.
When the Participant is ready to be used, the ready_callback will be triggered with the newly created Participant instance.
- Parameters
[in] description
: The description of the participant.[in] ready_callback
: The callback that will be triggered when the participant is ready.
Public Static Functions
Create an instance of a writer. The writer and all Participants it creates depend on the life of the rclcpp::Node. It’s best to keep all of these as members of the Node.
- Parameters
[in] node
: The node that will manage the subscriptions of this writer. This will be held as astd::weak_ptr<rclcpp::Node>
so it is okay to store the writer inside the node itself.
-
bool