~drizzle-trunk/drizzle/development

1812.3.1 by Brian Aker
This patch encapsulates the MySQL protocol around the Drizzle port so that we have access even in the event of MySQL being installed and running.
1
/* - mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*-
390.1.2 by Monty Taylor
Fixed copyright headers in drizzled/
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
1812.3.1 by Brian Aker
This patch encapsulates the MySQL protocol around the Drizzle port so that we have access even in the event of MySQL being installed and running.
4
 *  Copyright (C) 2010 Brian Aker
390.1.2 by Monty Taylor
Fixed copyright headers in drizzled/
5
 *
6
 *  This program is free software; you can redistribute it and/or modify
7
 *  it under the terms of the GNU General Public License as published by
1812.3.1 by Brian Aker
This patch encapsulates the MySQL protocol around the Drizzle port so that we have access even in the event of MySQL being installed and running.
8
 *  the Free Software Foundation; either version 2 of the License, or
9
 *  (at your option) any later version.
390.1.2 by Monty Taylor
Fixed copyright headers in drizzled/
10
 *
11
 *  This program is distributed in the hope that it will be useful,
12
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *  GNU General Public License for more details.
15
 *
16
 *  You should have received a copy of the GNU General Public License
17
 *  along with this program; if not, write to the Free Software
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
 */
1 by brian
clean slate
20
2234 by Brian Aker
Mass removal of ifdef/endif in favor of pragma once.
21
#pragma once
1 by brian
clean slate
22
971.6.7 by Eric Day
Reworked listen interface to not require binding of TCP ports.
23
#include <drizzled/plugin/listen_tcp.h>
971.6.1 by Eric Day
Renamed Protocol to Client, cleaned up some unnecessary methods along the way.
24
#include <drizzled/plugin/client.h>
1726.3.6 by LinuxJedi
Add data_dictionary table for drizzle protocol status
25
#include <drizzled/atomics.h>
2173.2.1 by Monty Taylor
Fixes incorrect usage of include
26
#include <drizzled/plugin/table_function.h>
27
#include <plugin/mysql_protocol/mysql_protocol.h>
584.1.14 by Monty Taylor
Removed field.h from common_includes.
28
2318.3.1 by Olaf van der Spek
Refactor
29
namespace drizzle_plugin {
30
namespace drizzle_protocol {
1300.5.1 by Monty Taylor
Put drizzle_protocol plugin in to its own namespace so that symbols won't
31
2318.3.1 by Olaf van der Spek
Refactor
32
class ListenDrizzleProtocol : public ListenMySQLProtocol
971.3.48 by Eric Day
New Listen interface about done, not quite compiling yet, but need a backup.
33
{
34
public:
2318.2.40 by Olaf van der Spek
Refactor
35
  ListenDrizzleProtocol(std::string name, const std::string &bind_address) :
36
    ListenMySQLProtocol(name, bind_address)
1130.2.3 by Monty Taylor
Made Listen into a Plugin.
37
  { }
1812.3.1 by Brian Aker
This patch encapsulates the MySQL protocol around the Drizzle port so that we have access even in the event of MySQL being installed and running.
38
2318.3.1 by Olaf van der Spek
Refactor
39
  in_port_t getPort() const;
2318.3.2 by Olaf van der Spek
Refactor
40
  static ProtocolCounters drizzle_counters;
2318.3.5 by Olaf van der Spek
Refactor
41
  virtual ProtocolCounters& getCounters() const { return drizzle_counters; }
1960.2.6 by Andrew Hutchings
Add ip address limitation for admin connections
42
  drizzled::plugin::Client *getClient(int fd);
43
};
44
1320.2.1 by Monty Taylor
Merged in drizzle_protocol namespace change.
45
} /* namespace drizzle_protocol */
1964.2.9 by Monty Taylor
All protocol stuff except for the buffer_length. WTF?
46
} /* namespace drizzle_plugin */
47