Class Auctioneer¶
Defined in File Auctioneer.hpp
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public std::enable_shared_from_this< Auctioneer >
Class Documentation¶
-
class
rmf_task_ros2::bidding
::
Auctioneer
: public std::enable_shared_from_this<Auctioneer>¶ The Auctioneer class is responsible for initiating and mediating the bidding process during task dispatching. Hence, this class instance is solely used within the Dispatcher class
Public Types
-
using
BiddingResultCallback
= std::function<void(const std::string &task_id, const std::optional<Response::Proposal> winner, const std::vector<std::string> &errors)>¶ Callback which will provide the winner when a bid is concluded
- Parameters
[in] task_id
: bidding task id[in] winner
: single winner from all submissions. nullopt if non
Public Functions
-
void
request_bid
(const BidNoticeMsg &bid_notice)¶ Start a bidding process by provide a bidding task. Note the each bidding process is conducted sequentially
- Parameters
[in] bid_notice
: bidding task, task which will call for bid
-
void
ready_for_next_bid
()¶ Call this to tell the auctioneer that it may begin to perform the next bid.
-
void
set_evaluator
(ConstEvaluatorPtr evaluator)¶ Provide a custom evaluator which will be used to choose the best bid If no selection is given, Default is: LeastFleetDiffCostEvaluator
- Parameters
[in] evaluator
:
Public Static Functions
Create an instance of the Auctioneer. This instance will handle all the task dispatching bidding mechanism. A default evaluator is used.
- See
- Parameters
[in] node
: ros2 node which will manage the bidding[in] result_callback
: This callback fn will be called when a bidding result is concluded
-
class
Evaluator
¶ A pure abstract interface class for the auctioneer to choose the best choosing the best submissions.
Subclassed by rmf_task_ros2::bidding::LeastFleetCostEvaluator, rmf_task_ros2::bidding::LeastFleetDiffCostEvaluator, rmf_task_ros2::bidding::QuickestFinishEvaluator
-
using