From: Christian Herdtweck Date: Thu, 5 Feb 2015 16:28:21 +0000 (+0100) Subject: created a graph to show how IcmpPinger, IcmpPacketDistributor and other important... X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=47b7d5fc84ac89fd1677415a40b750f0b00b4b42;p=pingcheck created a graph to show how IcmpPinger, IcmpPacketDistributor and other important classes interact created using yEd 3.12.2 --- diff --git a/pingcheck_icmp_distributor.graphml b/pingcheck_icmp_distributor.graphml new file mode 100644 index 0000000..c8b4a55 --- /dev/null +++ b/pingcheck_icmp_distributor.graphml @@ -0,0 +1,2974 @@ + + + + + + + + + + + + + + + + + + + + + + + + IcmpPinger + + + + + + + + + + + + + + + + + + IcmpPinger + + + + + + + + + + + + + + + + + + IcmpPacketDistributor +(singleton) + + + + + + + + + + + + + + + + + + PingerFactory + + + + + + + + + + + + + + + + + + IcmpPacketFactory + + + + + + + + + + + + + + + + + + ICMP +Socket + + + + + + + + + + + + + + + + + + the world + + + + + + + + + + + + + + + + + NetworkInterface + + + + + + + + + + + + + + + + + + Time Course + main + + + + + + + PingScheduler (+timer) + + + + + + + PingRotate + + + + + + + IcmpPinger (+timer) + + + + + + + IcmpPacketDistributor + + + + + + + Socket + + + + + + + other components + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + start_pinging + + + + + + + + + + + + + + + + + + resolve_and_ping + + + + + + + + + + + + + + + + + + ping + + + + + + + + + + + + + + + + + + main + + + + + + + + + + + + + + + + + + start_pingers + + + + + + + + + + + + + + + + + + ping_done_handler + + + + + + + + + + + + + + + + + + First Delay + + + + + + + + + + + + + + + + + + async_wait + + + + + + + + + + + + + + + + + + update_ping_interval + + + + + + + + + + + + + + + + + + update_ping_elapsed_time + + + + + + + + + + + + + + + + + + init_pingers + + + + + + + + + + + + + + + + + + Constructor + + + + + + + + + + + + + + + + + + Constructor + + + + + + + + + + + + + + + + + + ping + + + + + + + + + + + + + + + + + + DNS-related functions + + + + + + + + + + + + + + + + + + set_ping_done_callback + + + + + + + + + + + + + + + + + + update_ping_protocol + + + + + + + + + + + + + + + + + + get_next_ping_protocol + + + + + + + + + + + + + + + + + + timeout +PingIntervalInSec + + + + + + + + + + + + + + + + + + stop_pingers + + + + + + + + + + + + + + + + + + stop_pinging + + + + + + + + + + + + + + + + + + main + + + + + + + + + + + + + + + + + + stop_pinging + + + + + + + + + + + + + + + + + + cancel + + + + + + + + + + + + + + + + + + ping_done_handler + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + get_socket + + + + + + + + + + + + + + + + + + register_receive_handler + + + + + + + + + + + + + + + + + + async_receive + + + + + + + + + + + + + + + + + + send_to + + + + + + + + + + + + + + + + + + handle_receive + + + + + + + + + + + + + + + + + + register_receive_handler + + + + + + + + + + + + + + + + + + IcmpPacketFactory +::create_icmp_packet_echo_request + + + + + + + + + + + + + + + + + + IcmpPacketFactory +::create_icmp_packet + + + + + + + + + + + + + + + + + + HostStatus +::update_ping_statistics + + + + + + + + + + + + + + + + + + async_receive + + + + + + + + + + + + + + + + + + Pingerfactory +::createPinger + + + + + + + + + + + + + + + + + + PingerFactory +::createPinger + + + + + + + + + + + + + + + + + + ping + + + + + + + + + + + + + + + + + + start_send + + + + + + + + + + + + + + + + + + send_echo_request + + + + + + + + + + + + + + + + + + schedule_timeout_echo_reply + + + + + + + + + + + + + + + + + + handle_receive_icmp_packet + + + + + + + + + + + + + + + + + + set_ping_status + + + + + + + + + + + + + + + + + + set_ping_status + + + + + + + + + + + + + + + + + + PingDoneCallback + + + + + + + + + + + + + + + + + + async_wait + + + + + + + + + + + + + + + + + + cancel + + + + + + + + + + + + + + + + + + handle_timeout + + + + + + + + + + + + + + + + + + set_ping_status + + + + + + + + + + + + + + + + + + Constructor + + + + + + + + + + + + + + + + + + EchoReplyTimeout + + + + + + + + + + + + + + + + + + create (static) + + + + + + + + + + + + + + + + + + get_distributor (static) + + + + + + + + + + + + + + + + + + Constructor + + + + + + + + + + + + + + + + + + Constructor + + + + + + + + + + + + + + + + + + register_pinger + + + + + + + + + + + + + + + + + + clean_up_all (static) + + + + + + + + + + + + + + + + + + stop_pinging + + + + + + + + + + + + + + + + + + unregister_pinger + + + + + + + + + + + + + + + + + + clean_up + + + + + + + + + + + + + + + + + + close + + + + + + + + + + + + + + + + + + cancel + + + + + + + + + + + + + + + + + + handle_timeout + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + DNS system + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + DNS timer + + + + + + + + + + + + + + + + + + DNS system + + + + + + + + + + + + + + + + + + HostStatus +::set_resovled_ip_count +::report_dns_resolution_failure + + + + + + + + + + + + + + + + + + HostStatus +::exceeded_ping_failed_limit + + + + + + + + + + + + + + + + + + + + deadline_timer + + + + + + + + + + + + + + + + + + deadline_timer + + + + + + + + + + + + + + + + + + PingScheduler + + + + + + + + + + + + + + + + + + PingScheduler + + + + + + + + + + + + + + + + + + deadline_timer + + + + + + + + + + + + + + + + + + deadline_timer + + + + + + + + + + + + + + + + + + PingRotate + + + + + + + + + + + + + + + + + + PingRotate + + + + + + + + + + + + + + + + + + OR + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + send request +receive echo reply +or destin. unreachable + + + + + + + + + + + + + + + + + no reply + + + + + + + + + + + + + + + + + SIGTERM +SIGKILL + + + + + + + + + + + + + + + + + + HostStatus + + + + + + + + + + + + + + + + + + HostStatus + + + + + + + + + + + + + + + + + + hold +shared_ptrs + + + + + + + + + + + + + + + + + + + + + + + + + + + + creates + + + + + + + + + + + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + send + + + + + + + + + + + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + calls + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IcmpPacket + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + + + + + owns + + + + + + + + + + + + + + +