26
26
#include "drizzled/internal/my_sys.h"
27
27
#include "drizzled/internal/m_string.h"
28
28
#include <algorithm>
30
#include <boost/program_options.hpp>
31
#include <drizzled/module/option_map.h>
33
31
#include "errmsg.h"
34
32
#include "drizzle_protocol.h"
814
812
drizzleclient_net_write(&net, buff, 5);
815
static ListenDrizzleProtocol *listen_obj= NULL;
817
817
static int init(module::Context &context)
819
const module::option_map &vm= context.getOptions();
820
if (vm.count("port"))
824
errmsg_printf(ERRMSG_LVL_ERROR, _("Invalid value of port\n"));
829
if (vm.count("connect-timeout"))
831
if (connect_timeout < 1 || connect_timeout > 300)
833
errmsg_printf(ERRMSG_LVL_ERROR, _("Invalid value for connect_timeout\n"));
838
if (vm.count("read-timeout"))
840
if (read_timeout < 1 || read_timeout > 300)
842
errmsg_printf(ERRMSG_LVL_ERROR, _("Invalid value for read_timeout\n"));
847
if (vm.count("write-timeout"))
849
if (write_timeout < 1 || write_timeout > 300)
851
errmsg_printf(ERRMSG_LVL_ERROR, _("Invalid value for write_timeout\n"));
856
if (vm.count("retry-count"))
858
if (retry_count < 1 || retry_count > 100)
860
errmsg_printf(ERRMSG_LVL_ERROR, _("Invalid value for retry_count\n"));
865
if (vm.count("buffer-length"))
867
if (buffer_length < 1024 || buffer_length > 1024*1024)
869
errmsg_printf(ERRMSG_LVL_ERROR, _("Invalid value for buffer_length\n"));
874
if (vm.count("bind-address"))
876
bind_address= strdup(vm["bind-address"].as<string>().c_str());
884
context.add(new ListenDrizzleProtocol("drizzle_protocol", false));
819
listen_obj= new ListenDrizzleProtocol("drizzle_protocol", false);
820
context.add(listen_obj);
906
842
static DRIZZLE_SYSVAR_STR(bind_address, bind_address, PLUGIN_VAR_READONLY,
907
843
N_("Address to bind to."), NULL, NULL, NULL);
909
static void init_options(drizzled::module::option_context &context)
912
po::value<uint32_t>(&port)->default_value(0),
913
N_("Port number to use for connection or 0 for "
914
"default to, in order of "
915
"preference, drizzle.cnf, $DRIZZLE_TCP_PORT, "
916
"built-in default (4427)."));
917
context("connect-timeout",
918
po::value<uint32_t>(&connect_timeout)->default_value(10),
919
N_("Connect Timeout."));
920
context("read-timeout",
921
po::value<uint32_t>(&read_timeout)->default_value(30),
922
N_("Read Timeout."));
923
context("write-timeout",
924
po::value<uint32_t>(&write_timeout)->default_value(60),
925
N_("Write Timeout."));
926
context("retry-count",
927
po::value<uint32_t>(&retry_count)->default_value(10),
929
context("buffer-length",
930
po::value<uint32_t>(&buffer_length)->default_value(16384),
931
N_("Buffer length."));
932
context("bind-address",
934
N_("Address to bind to."));
937
845
static drizzle_sys_var* sys_variables[]= {
938
846
DRIZZLE_SYSVAR(port),
939
847
DRIZZLE_SYSVAR(connect_timeout),
948
856
} /* namespace drizzle_protocol */
950
DRIZZLE_PLUGIN(drizzle_protocol::init, drizzle_protocol::sys_variables, drizzle_protocol::init_options);
858
DRIZZLE_PLUGIN(drizzle_protocol::init, drizzle_protocol::sys_variables);