+
+ leaf connection-timeout-millis {
+ description "Specifies timeout in milliseconds after which connection must be established.";
+ type uint32;
+ default 20000;
+ }
+
+ leaf default-request-timeout-millis {
+ description "Timeout for blocking operations within transactions.";
+ type uint32;
+ default 60000;
+ }
+
+ leaf max-connection-attempts {
+ description "Maximum number of connection retries. Non positive value or null is interpreted as infinity.";
+ type uint32;
+ default 0; // retry forever
+ }
+
+ leaf between-attempts-timeout-millis {
+ description "Initial timeout in milliseconds to wait between connection attempts. Will be multiplied by sleep-factor with every additional attempt";
+ type uint16;
+ default 2000;
+ }
+
+ leaf sleep-factor {
+ type decimal64 {
+ fraction-digits 1;
+ }
+ default 1.5;
+ }
+
+ // Keepalive configuration
+ leaf keepalive-delay {
+ type uint32;
+ default 120;
+ description "Netconf connector sends keepalive RPCs while the session is idle, this delay specifies the delay between keepalive RPC in seconds
+ If a value <1 is provided, no keepalives will be sent";
+ }
+
+ container keepalive-executor {
+ uses config:service-ref {
+ refine type {
+ mandatory false;
+ config:required-identity th:scheduled-threadpool;
+ }
+ }
+
+ description "Dedicated solely to keepalive execution";
+ }