main block_all_signals init_logger get_configuration daemonize init_pingers start_pingers handle_signals stop_pingers add to scheduler_list PingSchedulerItem:: start_pinging_thread PingSchedulerItem:: stop_pinging_thread PingSchedulerItem:: wait_pinging_thread sigwait SIGTERM SIGINT SIGUSR boost thread Thread resolve_ping_address setup_next_ping IoService.run boost io_service IoService stop_pinging IoService.stop PingRotateItem:: resolve_ping_address PingRotateItem:: get_resolved_ip_count HostStatus:: set_resolved_ip_count PingRotateItem Ping HostStatus HostAnalyzer update_ping_address ping PingRotateItem:: expired_resolved_ip PingRotateItem:: ping ping_done_handler update_ping_statistics update_ping_elapsed_time schedule_next_ping boost deadline_timer NextPingTimer deadline_timer:: expires_from_now deadline_timer:: async_wait PingInterval PingIntervalInSec HostStatus:: update_ping_statistics boost posix_time TimeSentLastPing microsec_clock:: universal_time PingScheduler Konstruktor Thread::join update_ping_interval HostStatus:: exceeded_ping_failed_limit PingInterval:: speed_up PingInterval:: bck_to_original PingerFactory:: createPinger Legend Folder 1 calling function first called function variable ... or thread signal or ... function caller function called afterwards last function function in PingSchedulerItem function in PingRotateItem part of calling function function in main.cpp calc_pinger_delays boost deadline_timer NextAddressTimer PingInterval AddressResolveIntervalInSec bool AddressResolvedFirstTime PingSchedulerItem::Konstruktor repeated on right for better arrow layout schedule_address_resolve deadline_timer:: async_wait OR FirstDelay start_pinging create & start schedule [done callback] checks creates link expires calls write (and read) read create link control trigger triggered call schedule call checks true schedule true false expires checks