19 #ifndef MIR_SCENE_TIMOUT_APPLICATION_NOT_RESPONDING_DETECTOR_ 20 #define MIR_SCENE_TIMOUT_APPLICATION_NOT_RESPONDING_DETECTOR_ 26 #include <unordered_map> 44 std::chrono::milliseconds period);
46 template<
typename Rep,
typename Period>
49 std::chrono::duration<Rep, Period> period)
51 std::chrono::duration_cast<
std::chrono::milliseconds>(period))
58 std::function<
void()>
const& pinger)
override;
64 void register_observer(std::shared_ptr<Observer>
const& observer)
override;
65 void unregister_observer(std::shared_ptr<Observer>
const& observer)
override;
67 void handle_ping_cycle();
77 void session_unresponsive(
Session const* session)
override;
78 void session_now_responsive(
Session const* session)
override;
81 std::mutex session_mutex;
82 std::unordered_map<Session const*, std::unique_ptr<ANRContext>> sessions;
83 std::vector<Session const*> unresponsive_sessions_temporary;
85 std::chrono::milliseconds
const period;
86 std::unique_ptr<time::Alarm>
const alarm;
91 #endif // MIR_SCENE_TIMOUT_APPLICATION_NOT_RESPONDING_DETECTOR_
All things Mir.
Definition: atomic_callback.h:25
Definition: timeout_application_not_responding_detector.h:39
Definition: alarm_factory.h:38
Definition: application_not_responding_detector.h:36
Definition: basic_observers.h:28
TimeoutApplicationNotRespondingDetector(time::AlarmFactory &alarms, std::chrono::duration< Rep, Period > period)
Definition: timeout_application_not_responding_detector.h:47
Notification object for application-not-responsive signals.
Definition: application_not_responding_detector.h:49