23 #include <drizzled/gettext.h>
24 #include <drizzled/error.h>
25 #include <drizzled/session.h>
26 #include <drizzled/internal/my_sys.h>
27 #include <drizzled/internal/m_string.h>
30 #include <boost/program_options.hpp>
32 #include <drizzled/util/tokenize.h>
33 #include "drizzle_protocol.h"
35 namespace po= boost::program_options;
36 using namespace drizzled;
39 namespace drizzle_plugin {
40 namespace drizzle_protocol {
43 static timeout_constraint connect_timeout;
44 static timeout_constraint read_timeout;
45 static timeout_constraint write_timeout;
46 static retry_constraint retry_count;
47 static buffer_constraint buffer_length;
49 static const uint32_t DRIZZLE_TCP_PORT= 4427;
51 ProtocolCounters ListenDrizzleProtocol::drizzle_counters;
53 in_port_t ListenDrizzleProtocol::getPort()
const
60 int new_fd= acceptTcp(fd);
69 protocol->addCountersToTable();
70 context.add(protocol);
78 context.registerVariable(
new sys_var_uint32_t_ptr(
"max-connections", &ListenDrizzleProtocol::drizzle_counters.max_connections));
87 po::value<port_constraint>(&port)->default_value(DRIZZLE_TCP_PORT),
88 N_(
"Port number to use for connection or 0 for default to with Drizzle/MySQL protocol."));
89 context(
"connect-timeout",
90 po::value<timeout_constraint>(&connect_timeout)->default_value(10),
91 N_(
"Connect Timeout."));
92 context(
"read-timeout",
93 po::value<timeout_constraint>(&read_timeout)->default_value(30),
95 context(
"write-timeout",
96 po::value<timeout_constraint>(&write_timeout)->default_value(60),
97 N_(
"Write Timeout."));
98 context(
"retry-count",
99 po::value<retry_constraint>(&retry_count)->default_value(10),
101 context(
"buffer-length",
102 po::value<buffer_constraint>(&buffer_length)->default_value(16384),
103 N_(
"Buffer length."));
104 context(
"bind-address",
105 po::value<std::string>()->default_value(
"localhost"),
106 N_(
"Address to bind to."));
107 context(
"max-connections",
108 po::value<uint32_t>(&ListenDrizzleProtocol::drizzle_counters.max_connections)->default_value(1000),
109 N_(
"Maximum simultaneous connections."));
115 DRIZZLE_DECLARE_PLUGIN
121 N_(
"Drizzle network protocol"),
123 drizzle_plugin::drizzle_protocol::init,
125 drizzle_plugin::drizzle_protocol::init_options,
127 DRIZZLE_DECLARE_PLUGIN_END;
An Proxy Wrapper around boost::program_options::variables_map.