}
}
+\"reconnect-wait-time\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_RECONNECT_WAIT_TIME(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("reconnect-wait-time", driver.loc_);
+ }
+}
+
+\"request-timeout\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_REQUEST_TIMEOUT(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("request-timeout", driver.loc_);
+ }
+}
+
+\"tcp-keepalive\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_TCP_KEEPALIVE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("tcp-keepalive", driver.loc_);
+ }
+}
+
+\"tcp-nodelay\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_TCP_NODELAY(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("tcp-nodelay", driver.loc_);
+ }
+}
+
\"contact-points\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
CONNECT_TIMEOUT "connect-timeout"
CONTACT_POINTS "contact-points"
KEYSPACE "keyspace"
+ RECONNECT_WAIT_TIME "reconnect-wait-time"
+ REQUEST_TIMEOUT "request-timeout"
+ TCP_KEEPALIVE "tcp-keepalive"
+ TCP_NODELAY "tcp-nodelay"
VALID_LIFETIME "valid-lifetime"
RENEW_TIMER "renew-timer"
| readonly
| connect_timeout
| contact_points
+ | reconnect_wait_time
+ | request_timeout
+ | tcp_keepalive
+ | tcp_nodelay
| keyspace
| unknown_map_entry
;
ctx.stack_.back()->set("connect-timeout", n);
};
+reconnect_wait_time: RECONNECT_WAIT_TIME COLON INTEGER {
+ ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("reconnect-wait-time", n);
+}
+
+request_timeout: REQUEST_TIMEOUT COLON INTEGER {
+ ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("request-timeout", n);
+}
+
+tcp_keepalive: TCP_KEEPALIVE COLON INTEGER {
+ ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("tcp-keepalive", n);
+}
+
+tcp_nodelay: TCP_NODELAY COLON BOOLEAN {
+ ElementPtr n(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("tcp-nodelay", n);
+}
+
contact_points: CONTACT_POINTS {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {
}
}
+\"reconnect-wait-time\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_RECONNECT_WAIT_TIME(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_);
+ }
+}
+
+\"request-timeout\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_REQUEST_TIMEOUT(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("request-timeout", driver.loc_);
+ }
+}
+
+\"tcp-keepalive\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_TCP_KEEPALIVE(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("tcp-keepalive", driver.loc_);
+ }
+}
+
+\"tcp-nodelay\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_TCP_NODELAY(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("tcp-nodelay", driver.loc_);
+ }
+}
+
\"contact-points\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
CONNECT_TIMEOUT "connect-timeout"
CONTACT_POINTS "contact-points"
KEYSPACE "keyspace"
+ RECONNECT_WAIT_TIME "reconnect-wait-time"
+ REQUEST_TIMEOUT "request-timeout"
+ TCP_KEEPALIVE "tcp-keepalive"
+ TCP_NODELAY "tcp-nodelay"
PREFERRED_LIFETIME "preferred-lifetime"
VALID_LIFETIME "valid-lifetime"
| readonly
| connect_timeout
| contact_points
+ | reconnect_wait_time
+ | request_timeout
+ | tcp_keepalive
+ | tcp_nodelay
| keyspace
| unknown_map_entry
;
ctx.stack_.back()->set("connect-timeout", n);
};
+reconnect_wait_time: RECONNECT_WAIT_TIME COLON INTEGER {
+ ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("reconnect-wait-time", n);
+}
+
+request_timeout: REQUEST_TIMEOUT COLON INTEGER {
+ ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("request-timeout", n);
+}
+
+tcp_keepalive: TCP_KEEPALIVE COLON INTEGER {
+ ElementPtr n(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("tcp-keepalive", n);
+}
+
+tcp_nodelay: TCP_NODELAY COLON BOOLEAN {
+ ElementPtr n(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("tcp-nodelay", n);
+}
+
contact_points: CONTACT_POINTS {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {