3#include <experimental/memory>
51 mutable std::mutex mutex;
53 std::map<armem::MemoryID, gaze_targets::GazeTargetStatus> lifecycles;
Represents a point in time.
void aborted(const armem::MemoryID &gazeTargetID, const std::string &reason) override
Left the queue without ever being reached. Terminal, and a failure.
void preempted(const armem::MemoryID &gazeTargetID, const std::string &reason) override
Lost the active slot but stays in the queue. Not terminal.
void requested(const armem::MemoryID &gazeTargetID, const armarx::DateTime &creationTimestamp) override
Admitted to the scheduler's queue.
void scheduled(const armem::MemoryID &gazeTargetID) override
Submitted to the low-level controller.
void released(const armem::MemoryID &gazeTargetID, const std::string &reason) override
Left the queue having been reached. Terminal, and a success for whoever asked.
void reached(const armem::MemoryID &gazeTargetID, const gaze_controller::GazeResidual &residual) override
The gaze settled on the target.
bool wasReached(const armem::MemoryID &gazeTargetID) const override
Whether this target was reached at any point.
MemoryStatusPublisher(std::experimental::observer_ptr< memory::client::status::Writer > writer)
Publishes the lifecycle of gaze targets.
Business Object (BO) class of GazeTargetStatus: the lifecycle of one gaze target request,...
How far the gaze currently is from a target.