From: Tomek Mrugalski Date: Wed, 7 Mar 2018 12:48:41 +0000 (+0100) Subject: [5484] Grammar updated to handle new Cassandra parameters X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b55a16fe987929cd248a905ead5050518b2fd4fa;p=thirdparty%2Fkea.git [5484] Grammar updated to handle new Cassandra parameters --- diff --git a/src/bin/dhcp4/dhcp4_lexer.ll b/src/bin/dhcp4/dhcp4_lexer.ll index d5d88ff41a..358ea16dbe 100644 --- a/src/bin/dhcp4/dhcp4_lexer.ll +++ b/src/bin/dhcp4/dhcp4_lexer.ll @@ -430,6 +430,46 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } +\"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: diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index 9c5f94262a..25a7d361ff 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -83,6 +83,10 @@ using namespace std; 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" @@ -583,6 +587,10 @@ database_map_param: database_type | readonly | connect_timeout | contact_points + | reconnect_wait_time + | request_timeout + | tcp_keepalive + | tcp_nodelay | keyspace | unknown_map_entry ; @@ -657,6 +665,26 @@ connect_timeout: CONNECT_TIMEOUT COLON INTEGER { 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 { diff --git a/src/bin/dhcp6/dhcp6_lexer.ll b/src/bin/dhcp6/dhcp6_lexer.ll index 58808613ea..3010d59501 100644 --- a/src/bin/dhcp6/dhcp6_lexer.ll +++ b/src/bin/dhcp6/dhcp6_lexer.ll @@ -595,6 +595,46 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence} } } +\"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: diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 5fd8df6db6..add7adbc5a 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -71,6 +71,10 @@ using namespace std; 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" @@ -553,6 +557,10 @@ database_map_param: database_type | readonly | connect_timeout | contact_points + | reconnect_wait_time + | request_timeout + | tcp_keepalive + | tcp_nodelay | keyspace | unknown_map_entry ; @@ -627,6 +635,26 @@ connect_timeout: CONNECT_TIMEOUT COLON INTEGER { 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 {