digraph "isc::ha::HAService::communicationRecoveryHandler"
{
 // LATEX_PDF_SIZE
  bgcolor="transparent";
  edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
  node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
  rankdir="LR";
  Node1 [label="isc::ha::HAService\l::communicationRecoveryHandler",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Handler for the \"communication-recovery\" state."];
  Node1 -> Node2 [color="steelblue1",style="solid"];
  Node2 [label="isc::ha::HAService\l::adjustNetworkState",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a06a5ff95c2b4de349c71bb6b9e017f47",tooltip="Enables or disables network state depending on the served scopes."];
  Node2 -> Node3 [color="steelblue1",style="solid"];
  Node3 [label="isc::util::StateModel\l::getCurrState",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#afe3e8ad73650280d079cd33da6678db9",tooltip="Fetches the model's current state."];
  Node2 -> Node4 [color="steelblue1",style="solid"];
  Node4 [label="isc::util::StateModel\l::getStateLabel",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a1589b0b2d05645946e48aa517804bcd0",tooltip="Fetches the label associated with an state value."];
  Node1 -> Node5 [color="steelblue1",style="solid"];
  Node5 [label="isc::ha::LeaseUpdateBacklog\l::clear",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$da/d15/classisc_1_1ha_1_1LeaseUpdateBacklog.html#a81d1f35937907db004dfe8ca4b75eda4",tooltip="Removes all lease updates from the queue."];
  Node5 -> Node6 [color="steelblue1",style="solid"];
  Node6 [label="isc::util::MultiThreading\lMgr::instance",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dc/dc9/classisc_1_1util_1_1MultiThreadingMgr.html#a6375ba2fc1e3e7fb864d7ea8f8d619ec",tooltip="Returns a single instance of Multi Threading Manager."];
  Node1 -> Node7 [color="steelblue1",style="solid"];
  Node7 [label="isc::ha::HAService\l::conditionalLogPausedState",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a6b23b47b7dbe84e53c63e6c4ada4e094",tooltip="Logs if the server is paused in the current state."];
  Node7 -> Node3 [color="steelblue1",style="solid"];
  Node7 -> Node8 [color="steelblue1",style="solid"];
  Node8 [label="isc::util::StateModel\l::isModelPaused",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a372c2a8849203089254ed51f20ef4c46",tooltip="Returns whether or not the model is paused."];
  Node7 -> Node9 [color="steelblue1",style="solid"];
  Node9 [label="isc::ha::stateToString",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$df/d8d/namespaceisc_1_1ha.html#adfbd71f13534161eb6ef9c38f230a017",tooltip="Returns state name."];
  Node1 -> Node10 [color="steelblue1",style="solid"];
  Node10 [label="isc::util::StateModel\l::doOnEntry",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a89851ee9dead17e171e2262953df0089",tooltip="Checks if on entry flag is true."];
  Node1 -> Node11 [color="steelblue1",style="solid"];
  Node11 [label="isc::util::StateModel\l::doOnExit",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a5d2fd1b549a107062345e41aa90b0c67",tooltip="Checks if on exit flag is true."];
  Node1 -> Node12 [color="steelblue1",style="solid"];
  Node12 [label="isc::ha::HAService\l::getNormalState",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a0960e3d92c115360b3141eefac1c1835",tooltip="Returns normal operation state for the current configuration."];
  Node1 -> Node13 [color="steelblue1",style="solid"];
  Node13 [label="isc::ha::HAService\l::isMaintenanceCanceled",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a17f2918d8f6fa863d26f6f500834a603",tooltip="Convenience method checking if the current state is a result of canceling the maintenance."];
  Node13 -> Node14 [color="steelblue1",style="solid"];
  Node14 [label="isc::util::StateModel\l::getLastEvent",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#ae4d08e1e84135d0e3df8fc9422c8f62b",tooltip="Fetches the model's last event."];
  Node1 -> Node8 [color="steelblue1",style="solid"];
  Node1 -> Node15 [color="steelblue1",style="solid"];
  Node15 [label="isc::ha::HAService\l::isPartnerStateInvalid",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#abb9e2f94ab347fb88f186cecd9726b56",tooltip="Indicates if the partner's state is invalid."];
  Node1 -> Node16 [color="steelblue1",style="solid"];
  Node16 [label="isc::util::StateModel\l::postNextEvent",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a3cdbd064aeb96022d4d09778787e2871",tooltip="Sets the next event to the given event value."];
  Node1 -> Node17 [color="steelblue1",style="solid"];
  Node17 [label="isc::ha::HAService\l::scheduleHeartbeat",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a5345d5cafffe5b445f927ed4c9323da2",tooltip="Schedules asynchronous heartbeat to a peer if it is not scheduled."];
  Node1 -> Node18 [color="steelblue1",style="solid"];
  Node18 [label="isc::ha::HAService\l::sendHAReset",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a7ae2f619f77f9714012e2a5becb33fb9",tooltip="Sends ha-reset command to partner synchronously."];
  Node18 -> Node19 [color="steelblue1",style="solid"];
  Node19 [label="isc::asiolink::IOService::run",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$d9/ddc/classisc_1_1asiolink_1_1IOService.html#a22b69fec8cf11d92f4a50f35db5c1db2",tooltip="Start the underlying event loop."];
  Node18 -> Node20 [color="steelblue1",style="solid"];
  Node20 [label="isc::asiolink::IOService\l::stop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$d9/ddc/classisc_1_1asiolink_1_1IOService.html#accfca89cfd67ef2c69d885978c84d302",tooltip="Stop the underlying event loop."];
  Node1 -> Node21 [color="steelblue1",style="solid"];
  Node21 [label="isc::ha::HAService\l::sendLeaseUpdatesFromBacklog",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a1cec6d37c10e91069fbce5c6a7e9dcb7",tooltip="Attempts to send all lease updates from the backlog synchronously."];
  Node21 -> Node19 [color="steelblue1",style="solid"];
  Node21 -> Node20 [color="steelblue1",style="solid"];
  Node1 -> Node22 [color="steelblue1",style="solid"];
  Node22 [label="isc::ha::QueryFilter\l::serveDefaultScopes",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$d1/de9/classisc_1_1ha_1_1QueryFilter.html#aa715cd2f0916d5732b78d1204c0c92f5",tooltip="Serve default scopes for the given HA mode."];
  Node22 -> Node6 [color="steelblue1",style="solid"];
  Node1 -> Node23 [color="steelblue1",style="solid"];
  Node23 [label="isc::ha::HAService\l::shouldPartnerDown",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#aeeda08d0061eb992cf5e6a444d7e4a96",tooltip="Indicates if the server should transition to the partner down state."];
  Node1 -> Node24 [color="steelblue1",style="solid"];
  Node24 [label="isc::ha::HAService\l::shouldTerminate",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a484791fb847ec42621f68650141bc802",tooltip="Indicates if the server should transition to the terminated state as a result of high clock skew."];
  Node1 -> Node25 [color="steelblue1",style="solid"];
  Node25 [label="isc::ha::HAService\l::verboseTransition",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#a1b6e7869764ad1d625cc92038b1f6c19",tooltip="Transitions to a desired state and logs it."];
  Node25 -> Node3 [color="steelblue1",style="solid"];
  Node25 -> Node26 [color="steelblue1",style="solid"];
  Node26 [label="isc::util::StateModel\l::getNextEvent",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a667eaef2fe415bbd243895bbc705a739",tooltip="Fetches the model's next event."];
  Node25 -> Node4 [color="steelblue1",style="solid"];
  Node25 -> Node27 [color="steelblue1",style="solid"];
  Node27 [label="isc::ha::HAService\l::shouldSendLeaseUpdates",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$db/d27/classisc_1_1ha_1_1HAService.html#ad90b8b699351d654a8cc360a7a9a63ef",tooltip="Checks if the lease updates should be sent as result of leases allocation or release."];
  Node25 -> Node28 [color="steelblue1",style="solid"];
  Node28 [label="isc::util::StateModel\l::transition",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$dd/db3/classisc_1_1util_1_1StateModel.html#a6da4d635c9e6e44a77b5305002ee0df2",tooltip="Sets up the model to transition into given state with a given event."];
  Node1 -> Node29 [color="steelblue1",style="solid"];
  Node29 [label="isc::ha::LeaseUpdateBacklog\l::wasOverflown",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$da/d15/classisc_1_1ha_1_1LeaseUpdateBacklog.html#a86cdaa182b047fabdfaa8d7cf8d64df9",tooltip="Checks if the queue was overflown."];
  Node29 -> Node6 [color="steelblue1",style="solid"];
}
