Class NegotiatingRouteValidator::Generator
Defined in File RouteValidator.hpp
Nested Relationships
This class is a nested type of Class NegotiatingRouteValidator.
Class Documentation
-
class Generator
The Generator class begins the creation of NegotiatingRouteValidator instances. NegotiatingRouteValidator may be able to brach in multiple dimensions because of the rollout alternatives that are provided during a rejection.
Public Functions
-
Generator(schedule::Negotiation::Table::ViewerPtr viewer, rmf_traffic::Profile profile)
Constructor
This version is safe to use even if the participant being negotiated for is not in the schedule yet.
- Parameters:
viewer – [in] A viewer for the Negotiation Table that the generated validators are concerned with
profile – [in] The profile of the participant whose routes are being validated.
-
Generator(schedule::Negotiation::Table::ViewerPtr viewer)
Constructor
This version looks for the participant in the schedule to find its profile.
- Parameters:
table – [in] A viewer for the Negotiation Table that the generated validators are concerned with
-
Generator &ignore_unresponsive(bool val = true)
Toggle whether to ignore “unresponsive” (also called “read-only”) schedule participants when determining conflicts. By default, conflicts with unresponsive participants will be caught.
-
Generator &ignore_bystanders(bool val = true)
Toggle whether to ignore “bystanders” which means schedule participants that are not being involved in the negotiation. By default, conflicts with bystanders will be caught.
-
NegotiatingRouteValidator begin() const
Start with a NegotiatingRouteValidator that will use all the most preferred alternatives from every participant.
-
std::vector<rmf_utils::clone_ptr<NegotiatingRouteValidator>> all() const
Get all the Negotiating Route Validators that can be generated.
-
const std::vector<schedule::ParticipantId> &alternative_sets() const
Get the set of participants who have specified what their available rollouts are.
-
std::size_t alternative_count(schedule::ParticipantId participant) const
Get the number of alternative rollouts for the specified participant. This function will throw an excpetion if participant does not offer an alternative set.
-
Generator(schedule::Negotiation::Table::ViewerPtr viewer, rmf_traffic::Profile profile)