Move listener parameter handling into Listener::create
The Listener::create method now takes a set of configuration parameters from which it constructs a listener. This removes the duplicated code and makes the behavior of listener creation similar to other objects in MaxScale. It also allows the configuration parameters to be stored in the listener object itself.
This commit is contained in:
@ -141,7 +141,7 @@ string create_unique_select()
|
||||
|
||||
int test(mock::Session& session,
|
||||
FilterModule::Session& filter_session,
|
||||
mock::RouterSession& router_session,
|
||||
mock::RouterSession& router_session,
|
||||
const TEST_CASE& tc)
|
||||
{
|
||||
int rv = 0;
|
||||
@ -293,7 +293,15 @@ int test(FilterModule::Instance& filter_instance, const TEST_CASE& tc)
|
||||
parameters.set("connection_timeout", "10s");
|
||||
|
||||
auto service = service_alloc("service", "readconnroute", ¶meters);
|
||||
auto listener = Listener::create(service, "listener", "mariadbclient", "0.0.0.0", 3306, "", "", nullptr);
|
||||
|
||||
MXS_CONFIG_PARAMETER listener_params;
|
||||
listener_params.set(CN_ADDRESS, "0.0.0.0");
|
||||
listener_params.set(CN_PORT, "3306");
|
||||
listener_params.set(CN_PROTOCOL, "mariadbclient");
|
||||
listener_params.set(CN_SERVICE, service->name());
|
||||
|
||||
auto listener = Listener::create("listener", "mariadbclient", listener_params);
|
||||
|
||||
mock::Client client("bob", "127.0.0.1");
|
||||
mock::Session session(&client, listener);
|
||||
mock::ResultSetBackend backend;
|
||||
|
||||
@ -708,7 +708,7 @@ void log_error(const FW_TEST_CASE& c)
|
||||
|
||||
int test(mock::Client& client,
|
||||
FilterModule::Session& filter_session,
|
||||
mock::RouterSession& router_session,
|
||||
mock::RouterSession& router_session,
|
||||
const FW_TEST_CASE& c)
|
||||
{
|
||||
int rv = 0;
|
||||
@ -772,8 +772,15 @@ int test(FilterModule::Instance& filter_instance, const FW_TEST& t)
|
||||
parameters.set("max_retry_interval", "10s");
|
||||
parameters.set("connection_timeout", "10s");
|
||||
auto service = service_alloc("service", "readconnroute", ¶meters);
|
||||
auto listener = Listener::create(service, "listener", "mariadbclient", "0.0.0.0", 3306,
|
||||
"", "", nullptr);
|
||||
|
||||
MXS_CONFIG_PARAMETER listener_params;
|
||||
listener_params.set(CN_ADDRESS, "0.0.0.0");
|
||||
listener_params.set(CN_PORT, "3306");
|
||||
listener_params.set(CN_PROTOCOL, "mariadbclient");
|
||||
listener_params.set(CN_SERVICE, service->name());
|
||||
|
||||
auto listener = Listener::create("listener", "mariadbclient", listener_params);
|
||||
|
||||
mock::Session session(&client, listener);
|
||||
mock::OkBackend backend;
|
||||
mock::RouterSession router_session(&backend, &session);
|
||||
|
||||
@ -188,8 +188,13 @@ static void blr_start_master(void* data)
|
||||
pthread_mutex_unlock(&router->lock);
|
||||
|
||||
// Create a temporary listener so we can create a session originating from it
|
||||
auto listener = Listener::create(router->service, "binlogrouter_listener", "mariadbclient",
|
||||
"127.0.0.1", 9999, "", "", nullptr);
|
||||
MXS_CONFIG_PARAMETER listener_params;
|
||||
listener_params.set(CN_ADDRESS, "127.0.0.1");
|
||||
listener_params.set(CN_PORT, "9999");
|
||||
listener_params.set(CN_PROTOCOL, "mariadbclient");
|
||||
listener_params.set(CN_SERVICE, router->service->name());
|
||||
|
||||
auto listener = Listener::create("binlogrouter_listener", "mariadbclient", listener_params);
|
||||
mxb_assert(listener);
|
||||
|
||||
// Load users now so that authentication will work for the fake client
|
||||
@ -1708,7 +1713,7 @@ bool blr_send_event(blr_thread_role_t role,
|
||||
const char* binlog_name,
|
||||
uint32_t binlog_pos,
|
||||
ROUTER_SLAVE* slave,
|
||||
REP_HEADER* hdr,
|
||||
REP_HEADER* hdr,
|
||||
uint8_t* buf)
|
||||
{
|
||||
bool rval = true;
|
||||
|
||||
Reference in New Issue
Block a user