Class NegotiatingRouteValidator::Generator

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.