~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/mysql_protocol/mysql_protocol.h

Merge Andrew - First part of admin client blueprint. Add max-connections per-protocol 

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
 
30
30
namespace drizzle_plugin
31
31
{
 
32
class ProtocolCounters
 
33
{
 
34
  public:
 
35
    ProtocolCounters():
 
36
      max_connections(1000)
 
37
    { }
 
38
    drizzled::atomic<uint64_t> connectionCount;
 
39
    drizzled::atomic<uint64_t> failedConnections;
 
40
    drizzled::atomic<uint64_t> connected;
 
41
    uint32_t max_connections;
 
42
};
32
43
 
33
44
typedef drizzled::constrained_check<uint32_t, 300, 1> timeout_constraint;
34
45
typedef drizzled::constrained_check<uint32_t, 300, 1> retry_constraint;
52
63
  virtual const std::string getHost(void) const;
53
64
  virtual in_port_t getPort(void) const;
54
65
  virtual drizzled::plugin::Client *getClient(int fd);
 
66
  static ProtocolCounters *mysql_counters;
 
67
  virtual ProtocolCounters *getCounters(void) const { return mysql_counters; }
55
68
};
56
69
 
57
70
class ClientMySQLProtocol: public drizzled::plugin::Client
69
82
  void makeScramble(char *scramble);
70
83
 
71
84
public:
72
 
  ClientMySQLProtocol(int fd, bool _using_mysql41_protocol);
 
85
  ClientMySQLProtocol(int fd, bool _using_mysql41_protocol, ProtocolCounters *set_counters);
73
86
  virtual ~ClientMySQLProtocol();
74
87
 
75
 
  static drizzled::atomic<uint64_t> connectionCount;
76
 
  static drizzled::atomic<uint64_t> failedConnections;
77
 
  static drizzled::atomic<uint64_t> connected;
 
88
  ProtocolCounters *counters;
78
89
 
79
90
  virtual int getFileDescriptor(void);
80
91
  virtual bool isConnected();