Class SimpleResponder¶
Defined in File Negotiator.hpp
Inheritance Relationships¶
Base Type¶
public rmf_traffic::schedule::Negotiator::Responder
(Class Negotiator::Responder)
Class Documentation¶
-
class
rmf_traffic::schedule
::
SimpleResponder
: public rmf_traffic::schedule::Negotiator::Responder¶ A simple implementation of a Negotiator::Responder. It simply passes the result along to the Negotiation.
Public Types
-
using
ApprovalMap
= std::unordered_map<Negotiation::ConstTablePtr, std::function<UpdateVersion()>>¶
-
using
BlockerSet
= std::unordered_set<schedule::ParticipantId>¶
Public Functions
-
SimpleResponder
(const Negotiation::TablePtr &table, std::vector<schedule::ParticipantId> *report_blockers = nullptr)¶ Constructor
- Parameters
[in] table
: The negotiation table that this SimpleResponder is tied to[in] report_blockers
: If the blockers should be reported when a forfeit is given, provide a pointer to a vector of ParticipantIds.
Constructor
- Parameters
[in] table
: The negotiation table that this SimpleResponder is tied to[in] approval_map
: If provided, the responder will store the approval callback in this map[in] blockers
: If provided, the responder will store any solution blockers in this set
-
void
submit
(PlanId plan_id, std::vector<Route> itinerary, std::function<UpdateVersion()> approval_callback = nullptr) const final¶
-
virtual void
reject
(const Negotiation::Alternatives &alternatives) const final¶ The negotiator will call this function if it has decided to reject an attempt to negotiate. It must supply a set of alternatives for the parent negotiator to consider for its next proposal.
-
virtual void
forfeit
(const std::vector<ParticipantId> &blockers) const final¶ The negotiator will call this function if it cannot find any feasible proposal or alternative that can be accommodated by the parent.
- Parameters
[in] blockers
: Give the set of schedule participants that are blocking a solution from being found.
-
const std::vector<ParticipantId> &
blockers
() const¶ Get the blockers that were reported by the Negotiator, if a forfeit was given.
Public Static Functions
-
using